J'ai un curieux problème d'obtention de référence sur TextView, SeekBar et autres widgets. Mon AlertDialog ressemble à ceci :
public class LineDialog extends AlertDialog {
private static SeekBar seekBar1, seekBar2, seekBar3;
private static TextView textView1, textview2, textView3;
protected LineDialog(final Context context, final DrawView drawView) {
super(context);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View dialogLayout = inflater.inflate(R.layout.line_dialog, null);
setView(dialogLayout);
setTitle("Line properties");
textView1 = (TextView) findViewById(R.id.textView1); // TODO Code crash here :(
setButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
seekBar1 = (SeekBar) findViewById(R.id.seek1);
// some other code...
}
});
}
Quand je veux obtenir une référence dans la ligne où se trouve
textView1 = (TextView) findViewById(R.id.textView1);
Logcat m'envoie une erreur
requestFeature() must be called before adding content
Mais lorsque j'obtiens une référence dans la méthode onClick() dans LineDiealog(AlertDialog) tout fonctionne bien. Malheureusement, c'est trop tard, car j'ai besoin de cette référence avant que LineDialog.show() soit appelé...