Nom Posté(e) 2 octobre 2012 Share Posté(e) 2 octobre 2012 Bonjour, je suis débutant dans le développement Androïd (et le développement mobile en général), et je butte sur un problème depuis plusieurs heures. Je me permets donc de venir poser ma question ici pour être éventuellement aidé par des personnes plus expérimentées. En fait je cherche tout simplement à créer un outil de recherche "classique" (entendre par là un champs de texte et un bouton "rechercher" ^^). J'ai déjà crée le module de recherche (qui fonctionne très bien) et l'appelle par web service (ça aussi je sais faire, pas de problème). Là où je butte (c'est beaucoup plus c**) c'est que je n'arrive pas à récupérer le contenu du champs texte (les mots clés) !!! En fait j'appelle une classe "Search" dans laquelle se trouve la méthode qui gère la recherche. Voici le code pour le moment: public class Search { public void searchLoad(final Activity activity){ LayoutInflater factory = LayoutInflater.from(activity); final View alertDialogView = factory.inflate(R.layout.alert_search, null); AlertDialog.Builder adb = new AlertDialog.Builder(activity); adb.setView(alertDialogView); adb.setNegativeButton("Annuler", new DialogInterface.onclickListener() { public void onclick(DialogInterface dialog, int which) { System.out.println("TEST: SORTIR"); } }); // ZONE QUI POSE PROBLEME adb.setPositiveButton("Rechercher", new DialogInterface.onclickListener() { public void onclick(DialogInterface dialog, int which) { activity.setContentView(R.layout.activity_main); EditText champs = (EditText) alertDialogView.findViewById(R.id.menu_search); // TEST DE MA VARAIBLE CHAMPS String txt = (champs == null) ? "Objet null" : "Object correct"; System.out.println(txt); } }); adb.show(); } } Le problème que j'ai c'est que la variable "champs" me retourne systématiquement null... J'ai pu voir pendant mes recherches que la méthode "setContentView" pouvait résoudre ce genre de problème mais ça ne résout rien (soit elle n'est pas nécessaire, soit je l'utilise mal ^^). Merci d'avance pour votre aide. Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 2 octobre 2012 Share Posté(e) 2 octobre 2012 Dans ton cas, setContentView ne va rien résoudre. Faire un setContentView sur l'Activity depuis un listener de ta boite de dialogue ne sert à rien/n'a aucun rapport. As-tu bien un champ nommé menu_search dans le layout de ta boite de dialogue (alert_search.xml) ? Peux-tu nous montrer ce layout ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nom Posté(e) 2 octobre 2012 Auteur Share Posté(e) 2 octobre 2012 Tout d'abord merci ^^. Voici le fichier alert_search.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/alertSearch_Titre" style="@style/alertSearch_Titre"/> <EditText android:id="@+id/alertSearch_EditText" style="@style/alertSearch_EditText"/> </LinearLayout> Ok, pas besoin d'aller plus loin, rien qu'en me disant ça tu m'as fait comprendre mon erreur ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 2 octobre 2012 Share Posté(e) 2 octobre 2012 Effectivement, en faisant un findViewById(R.id.alertSearch_EditText) , ça devrait mieux marcher ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.