Y
Yrrel
Neues Mitglied
- 0
Hallo Leute,
bin mal wieder dabei ne App mit nem Dialog zu schreiben. Es wäre zwar auch ohne möglich (was wohl die bessere Idee wäre), aber mit Dialog sieht es einfach schöner aus^^
Für des Dialog verwende ich ein XML-Layout. Beim showDialog() wird auf den onCreateDialog() verwiesen der dann schließlich meine dialogErzeugen() Methode aufruft. Nun mein Problem:
beim Aufrufen soll der Text eines TextViews des XML-Layouts neu gesetzt werden. Dazu nehme ich die findViewById() methode. Alles ganz toll. Nur gibt es immer wenn ich den Text mit setText() neu setzten will eine NullPointerException. (LogCat liefert sonst nichts sinnvolles)
Woran kann das liegen? Ohne setzten eines neuen Textes funktioniert der Dialog ohne Probleme. Muss ich bei Dialogen beim textneusetzten etwas beachten?
Bin für JEDEN Tipp dankbar. Bitte helft mir. Danke schonmal im Vorraus
MFG Yrrel
------edit-------
Hier mal die Codeauschschnitte:
XML-Code des Dialogs:
Und der zugehörige Dialog-Aufruf
Hab mal nur die wichtigen Stellen rausgeschrieben. Hab auch mal ne NULL-Abfrage gemacht mit nem Toast. Liefert leider dass der erzeugte TextView ==NULL ist. Was hab ich da falsch gemacht? Oder kann man aus einem Dialogaufruf gar nicht nen XML-View verändern?
bin mal wieder dabei ne App mit nem Dialog zu schreiben. Es wäre zwar auch ohne möglich (was wohl die bessere Idee wäre), aber mit Dialog sieht es einfach schöner aus^^
Für des Dialog verwende ich ein XML-Layout. Beim showDialog() wird auf den onCreateDialog() verwiesen der dann schließlich meine dialogErzeugen() Methode aufruft. Nun mein Problem:
beim Aufrufen soll der Text eines TextViews des XML-Layouts neu gesetzt werden. Dazu nehme ich die findViewById() methode. Alles ganz toll. Nur gibt es immer wenn ich den Text mit setText() neu setzten will eine NullPointerException. (LogCat liefert sonst nichts sinnvolles)
Woran kann das liegen? Ohne setzten eines neuen Textes funktioniert der Dialog ohne Probleme. Muss ich bei Dialogen beim textneusetzten etwas beachten?
Bin für JEDEN Tipp dankbar. Bitte helft mir. Danke schonmal im Vorraus
MFG Yrrel
------edit-------
Hier mal die Codeauschschnitte:
XML-Code des Dialogs:
Code:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minHeight="10dip"
android:minWidth="10dip"
android:id="@+id/sv" >
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical"
>
<TableLayout
android:layout_gravity="left"
android:layout_width="match_parent"
android:layout_height="wrap_content">
.
.
.
<TableRow
android:id="@+id/tranzeigen"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView
android:text="Fach:"
android:padding="10dp"
android:layout_height="wrap_content"
android:layout_width="match_parent"
></TextView>
<TextView
android:id="@+id/fachanzeigen"
android:layout_height="wrap_content"
android:layout_width="match_parent"></TextView>
</TableRow>
.
.
.
</TableLayout>
</LinearLayout>
</ScrollView>
Und der zugehörige Dialog-Aufruf
Code:
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
dialog = erzeugeDialog(id);
return dialog;
}
protected Dialog erzeugeDialog(int id){
ScrollView sv = new ScrollView(this);
sv.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.fachanzeigen);
.
.
.
TextView tvname = (TextView) findViewById(R.id.fachanzeigen);
if(tvname==null){Toast.makeText(getApplicationContext(), "TextView ist NULL", Toast.LENGTH_SHORT).show();}
else{String str = tvname.getText().toString() + ""; Toast.makeText(getApplicationContext(),str, Toast.LENGTH_SHORT).show();}
.
.
.
return dialog;
}
Hab mal nur die wichtigen Stellen rausgeschrieben. Hab auch mal ne NULL-Abfrage gemacht mit nem Toast. Liefert leider dass der erzeugte TextView ==NULL ist. Was hab ich da falsch gemacht? Oder kann man aus einem Dialogaufruf gar nicht nen XML-View verändern?
Zuletzt bearbeitet: