Problème de redirection

Fermé
osman_1997_nour Messages postés 5 Date d'inscription dimanche 23 août 2020 Statut Membre Dernière intervention 24 août 2020 - 24 août 2020 à 08:30
osman_1997_nour Messages postés 5 Date d'inscription dimanche 23 août 2020 Statut Membre Dernière intervention 24 août 2020 - 24 août 2020 à 15:40

Bonjour,
je programme une application androïd qui consiste sur la gestion des clients.
Lorsque je clique sur recherche, l'appli me donne une liste avec la moitié de mes données.
Alors on cliquant sur la liste je veux l'appli me redirige vers une nouvelle activité avec la totalité de mes données.
quelqu'un peut m'aider.
voici le code de l'interface.


<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/back_recherhche"
    android:gravity="center_horizontal"
    tools:context=".Rechcerche">

     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical"
         android:gravity="center_horizontal">



    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/logo1"
        android:layout_gravity="center"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="Remplir les deux champs pour faire votre recherche"
        android:textStyle="italic"
        android:textColor="@android:color/black"
        />

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="horizontal">

        <TextView
            android:layout_width="160dp"
            android:layout_height="50dp"
            android:text="Propriétaire:"
            android:textStyle="bold"
            android:textSize="20dp"
            android:textColor="@android:color/black"
            android:layout_marginRight="230dp"/>

        <EditText
            android:id="@+id/edt_propriétaire"
            android:layout_width="260dp"
            android:layout_height="50dp"
            android:layout_marginLeft="-250dp"
            android:background="@android:color/white"
            />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:orientation="horizontal">

        <TextView
            android:layout_width="160dp"
            android:layout_height="50dp"
            android:text="Numero CNI:"
            android:textStyle="bold"
            android:textSize="20dp"
            android:textColor="@android:color/black"
            android:layout_marginRight="230dp"/>

        <EditText
            android:id="@+id/edt_cni"
            android:layout_width="260dp"
            android:layout_height="50dp"
            android:layout_marginLeft="-250dp"
            android:background="@android:color/white"
            />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:orientation="horizontal">
    <Button
        android:id="@+id/btn_recherche"
        android:layout_width="150dp"
        android:layout_height="40dp"
        android:text="Rechercher"
        android:textStyle="bold"
        android:background="#21f505"/>
    <Button
        android:id="@+id/btn_annuler"
        android:layout_width="150dp"
        android:layout_height="40dp"
        android:text="Annuler"
        android:textStyle="bold"
        android:layout_marginLeft="50dp"
        android:background="#e31005" />

    </LinearLayout>




    <ListView
        android:id="@+id/list_view"
        android:layout_width="wrap_content"
        android:layout_height="328dp"
        android:layout_marginTop="20dp"
        android:textColor="@color/colorPrimary"
        android:textSize="20dp"
        android:textStyle="bold" />

     </LinearLayout>

</ScrollView>

package com.example.arulos;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.database.Cursor;
import android.icu.text.Transliterator;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;

public class Rechcerche extends AppCompatActivity {

    EditText editText_propriétaire;
    EditText editText_cni;
    DatabaseHelper mydb;
    Button button_rechercher;
    Button button_annuler;
    ListView listView;


    ArrayList<String> nom_client = new ArrayList<>();
     //String[] nom_client;

    ArrayList<String> num_cni = new ArrayList<>();
   // String[] num_cni;

    ArrayList<String> tel = new ArrayList<>();
   // String[] tel;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_rechcerche);

        editText_propriétaire = (EditText) findViewById(R.id.edt_propriétaire);
        editText_cni = (EditText) findViewById(R.id.edt_cni);
        button_rechercher = (Button) findViewById(R.id.btn_recherche);
        button_annuler = (Button) findViewById(R.id.btn_annuler);


        listView = (ListView) findViewById(R.id.list_view);
       // final   MyListAdapter adapter=new MyListAdapter();
        listView.setAdapter(null);

        listView.setClickable(true);
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //  Toast.makeText(getApplicationContext(), ""+position, Toast.LENGTH_LONG).show();
                Log.d("position",position+"");
            }
        });


        mydb = new DatabaseHelper(this);

        button_rechercher.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {

                afficher();
            }
        });

        button_annuler.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                editText_propriétaire.getText().clear();
                editText_cni.getText().clear();
                nom_client.clear();
                num_cni.clear();
                tel.clear();
            }
        });


    //listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
      //      @Override
        //    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

          //    Intent intent = new Intent(Rechcerche.this, Detail_client.class);
            //         Bundle bundle = new Bundle();
              // bundle.putParcelableArrayList("mylist", nom_client);
                // intent.putExtras(bundle);
              // startActivity(intent);
                /*String Templistview = nom_client[Position].toString
                    Intent intent = new Intent(view.getContext(),Detail_client.class);
                    startActivity(intent);*/

           //}
        //}

    }
    protected void afficher(){
    //   ArrayList<String> theList = new ArrayList<>();
      // ArrayList<String> theList1 = new ArrayList<>();
        //ArrayList<String> theList2 = new ArrayList<>();
        String nom = editText_propriétaire.getText().toString().trim();
        String cni = editText_cni.getText().toString().trim();

        Cursor data = mydb.chercher(nom,cni);
        if (data.getCount() == 0) {
            Toast.makeText(this, "There are no contents in this list!", Toast.LENGTH_LONG).show();
        } else if ((data!=null && data.getCount() > 0)) {

            Toast.makeText(this, "There are contents in this list!", Toast.LENGTH_LONG).show();

          if (data.moveToFirst()) {
              do{
                  nom_client.add( data.getString(data.getColumnIndex("nom_client")));
                  num_cni.add(data.getString(data.getColumnIndex("numero_cni")));
                  tel.add(data.getString(data.getColumnIndex("telephone")));
                  //theList.add("Numero cni :" + data.getString(2));

              }while(data.moveToNext());
             // ListAdapter listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, theList);
              //listView.setAdapter(listAdapter);
              final   MyListAdapter adapter=new MyListAdapter(this, nom_client,num_cni,tel);
              listView.setAdapter(adapter);

             data.close();
            }

           /* for(int i=0 ; i<theList.size();i++){
                theList.add("Nom :" + data.getString(1) +"\t" + "Numero cni :" + data.getString(2));
                //theList.add("Numero cni :" + data.getString(2));
                ListAdapter listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, theList);
                listView.setAdapter(listAdapter);
            }*/
        }
    }
}

3 réponses

BunoCS Messages postés 15496 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 24 décembre 2024 3 912
24 août 2020 à 10:37
Hello,

Quel est le problème exactement ?
0
osman_1997_nour Messages postés 5 Date d'inscription dimanche 23 août 2020 Statut Membre Dernière intervention 24 août 2020
24 août 2020 à 11:04
je veux que le clique de la liste me redirige vers une nouvelle activité, en sachant que la liste contient des données.
0
BunoCS Messages postés 15496 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 24 décembre 2024 3 912
24 août 2020 à 11:32
ça, j'ai compris. Mais qu'est-ce qui te bloque ? Le lancement d'une nouvelle Activity ? L'affichage des données ?
Qu'as-tu essayé de faire ?
0
osman_1997_nour Messages postés 5 Date d'inscription dimanche 23 août 2020 Statut Membre Dernière intervention 24 août 2020 > BunoCS Messages postés 15496 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 24 décembre 2024
24 août 2020 à 11:54
Déjà l'affichage des données je le considère comme une seconde tache.Y'a le lancement d'une nouvelle activité qui me bloque.
0
BunoCS Messages postés 15496 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 24 décembre 2024 3 912 > osman_1997_nour Messages postés 5 Date d'inscription dimanche 23 août 2020 Statut Membre Dernière intervention 24 août 2020
24 août 2020 à 14:26
Généralement, voici ce qui est fait dans ta configuration :
- champ de recherche et bouton "rechercher" dans l'Activity1
- au tap sur le bouton, on récupères la valeur saisie et on l'envoie à l'Activity2
- lorsque l'Activity2 se lance, on affiche un loader le temps de la recherche et, une fois terminée, on affiche les résultats

Pour lancer une Activity, on utilise
startActivity()
. Pour passer des paramètres à une Activity, on passe un
Intent
. Du coup, voici un exemple de code

/** A appeler lorsque l'utilisateur tape le bouton "rechercher" */
public void sendSearch(){
    String nom = editText_propriétaire.getText().toString().trim();
    String cni = editText_cni.getText().toString().trim();
    ResultActivity.launch(this, nom, cni);
}


Dans ton autre Activity, que j'ai appelé
ResultActivity
, tu vas y mettre ta liste de résultats. Au lancement, tu vas récupérer les termes de la recherche, faire ta recherche et afficher les résultats

public class ResultActivity extends AppCompatActivity {

    private static final String EXTRA_NOM = "ResultActivity.extra_nom";
    private static final String EXTRA_CNI = "ResultActivity.extra_cni";

    public static void launch(Context context, String nom, String cni) {
        Intent intent = new Intent(context, ResultActivity.class);
        intent.putExtra(EXTRA_NOM, nom);
        intent.putExtra(EXTRA_CNI, cni);
        context.startActivity(intent);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);

        // Récupération de la recherche
        Intent intent = getIntent();
        String nom = intent.getStringExtra(MainActivity.EXTRA_NOM);
        String cni = intent.getStringExtra(MainActivity.EXTRA_CNI);

        // ici, tu peux lancer ta requête
    }
}
0
osman_1997_nour Messages postés 5 Date d'inscription dimanche 23 août 2020 Statut Membre Dernière intervention 24 août 2020
24 août 2020 à 14:39
salut, est ce qu'on peut se voir sur google meeting.
0
BunoCS Messages postés 15496 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 24 décembre 2024 3 912
24 août 2020 à 15:14
Non, désolé, je ne fais pas de support particulier.
0
osman_1997_nour Messages postés 5 Date d'inscription dimanche 23 août 2020 Statut Membre Dernière intervention 24 août 2020 > BunoCS Messages postés 15496 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 24 décembre 2024
24 août 2020 à 15:40
je vous demande sa parce que je vois que est intéressante mais j'ai du mal a l'adapter avec mon code
0