2012-04-16 5 views
0

J'ai un bouton "Rechercher" dans mon menu Options, qui affiche une boîte de dialogue avec le masque de recherche. Donc, lorsque vous cliquez sur le bouton de recherche, il devrait commencer la recherche proprement dite.Android - Dialog Button onClick -> EditText Value

Ce que je suis en train de faire dans ma onCreateDialog est:

Button search_button = (Button) dialog.findViewById(R.id.d_search_button); 
search_button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
    EditText text = (EditText) v.findViewById(R.id.d_search_text); 
    } 
}); 

qui ne fonctionne pas parce que le texte est nul, alors quelle est la meilleure façon d'accéder au texte de recherche?

Répondre

4
final EditText text = (EditText) v.findViewById(R.id.d_search_text); 

    search_button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 

    String searchString = text.getText().toString(); 
    //do something 
    } 

}); 
+0

je me sens maintenant un peu stupide, aurait vraiment pensé à cela. lol – Dreiven

2

Définissez EditText text comme variable globale finale. Et mettez-le lorsque vous définissez votre événement, il sera alors disponible à chaque fois que l'événement se déclenche:

Button search_button = (Button) dialog.findViewById(R.id.d_search_button); 
text = (EditText) v.findViewById(R.id.d_search_text); 
search_button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
    //get your text here 
    } 
});