Android: impossibile accedere alla finestra di dialogo TextView
-
11-12-2019 - |
Domanda
Sono newbie nello sviluppo di Android.Sono bravo a Java, ma non API Android.Questo è il mio programma di test per l'applicazione di lavoro, quindi ho bisogno di aiuto per risolvere il problema.Ho fatto la finestra di dialogo, che viene chiamata premendo il pulsante premendo, ma non riesco a raggiungere la dialogo TextView (APP si schianta quando provo a raggiungerlo - NullpointerException) anche Eclipse IDE non trovare alcun problema.Includo quasi tutto il codice, perché non so cosa da escludere
custom_dialog.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
>
<TextView android:id="@+id/dlgText"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:textColor="#FFF"
/>
</LinearLayout>
.
Balticamadeusactivity.java
public class BalticAmadeusActivity extends Activity{
/** Called when the activity is first created. */
Button btnApie;
Button btnForma;
Dialog dlgApie;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnApie = (Button) findViewById(R.id.btnApie);
btnForma = (Button) findViewById(R.id.btnForma);
btnApie.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if (v.equals(btnForma)) {
btnForma();
} else if (v.equals(btnApie)) {
btnApie();
}
return false;
}
});
dlgApie = new Dialog(this.getApplicationContext(), android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
dlgApie.setContentView(R.layout.custom_dialog);
TextView dlgText = (TextView) findViewById(R.id.dlgText);
dlgText.setText("Gera uzduotis"); //at this line, app crashes
//dlgText.setText("U\u017Eduotis s\u0117kmingai \u012Fgyvendinta");
}
private void btnApie() {
// TODO Auto-generated method stub
dlgApie.show();
}
private void btnForma() {
// TODO Auto-generated method stub
}
}
. Soluzione
Ricerca nel layout di dialogo (proprio ora stai cercando nel layout di attività):
TextView dlgText = (TextView) dlgApie.findViewById(R.id.dlgText);
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow