Je dois insérer dans la vue AlertDialog une vue personnalisée avec des sous-éléments, comme EditText. Cela fonctionne bien, mais quand l'utilisateur clique sur le bouton OK d'AlertDialog, j'ai besoin d'obtenir les informations des sous-éléments, mais au lieu d'obtenir le texte que j'ai inséré dans l'IU, j'obtiens une chaîne vide ou un pointeur nul comme dans Log.e() dans du code.Se gonfle dans la vue personnalisée AlertDialog et obtient les informations saisies
AlertDialog:
final AlertDialog.Builder alert = new AlertDialog.Builder(context);
alert.setTitle("Title");
alert.setView(getLayoutInflater().inflate(R.layout.sonidovideo, null));
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
EditText a = (EditText) findViewById(R.id.segundos);
EditText b = (EditText) findViewById(R.id.segundosFin);
EditText c = (EditText) findViewById(R.id.segundosInicio);
Spinner d = (Spinner) findViewById(R.id.calidades);
Spinner e = (Spinner) findViewById(R.id.detecciones);
Log.e("Is null", (a==null) + ""); //False
Log.e("No text",(a.getText().toString().compareTo("")==0) + ""); //True
Log.e("Is null", (b==null) + ""); //True
Log.e("Is null", (c==null) + ""); //True
Log.e("Is null", (d==null) + ""); //True
Log.e("Is null", (e==null) + ""); //True
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
});
alert.show();
R.layour.sonidovideo (sonidosvideo.xml):
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/segundosInicio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView3"
android:ems="10"
android:inputType="numberDecimal" />
<EditText
android:id="@+id/segundos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView2"
android:ems="10"
android:inputType="numberDecimal" >
<requestFocus />
</EditText>
<Spinner
android:id="@+id/detecciones"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView4"
android:entries="@array/detecciones" />
<EditText
android:id="@+id/segundosFin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView6"
android:ems="10"
android:inputType="numberDecimal" />
<Spinner
android:id="@+id/calidades"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/segundosFin"
android:entries="@array/calidades" />
Pour obtenir te sous articles que je aussi essayer cela, mais le résultat est le même
EditText a = (EditText) getLayoutInflater().inflate(R.layout.sonidovideo, null).findViewById(R.id.segundos);
Toute aide est appréciée.