Android Probleme mit Dialog

a_l_e_x

Mitglied
Hallo, einen schönen Dienstag erstmal,

Ich habe eine Activity in der ich mit "showDialog (MYDIALOG)"
einen Dialog öffne, in dem dann ein Spinner ist, in dem man einen von 4 Strings auswählen kann.

beim ersten aufruf werden über die Methode "setItems" die 4 Strings übergeben. Dies funktioniert auch.

beim zweiten Aufruf sollen 4 andere Strings übergeben werden.
dachte die Methode "onPrepareDialog" ist dafür um in/für Dialog eine änderung durchzuführen.
Laut Log.i kommen die werte ja auch im Dialog in der setItem Methode an. aber im spinner und im textfeld werden
trotzdem die Werte aus dem ersten aufruf angezeigt.???:L
Was läuft da falsch ? :rtfm:weiss nicht was ich noch tun kann.
habe auch versucht, über die protected Methode onStart die werte in den Spinner zu bekommen, leider mit dem selben ergebnis.


MyDialog dialog;
final static MDIALOG = 0;

protected Dialog onCreateDialog(int id)
{
switch(id)
{
case MDIALOG:
dialog = new MyDialog(this);
dialog.setItems("String1", "String2", "String3","String4");
break;
default:
dialog = null;}
return dialog;
}


protected void onPrepareDialog (int id, Dialog dialog)
{
switch(id)
{
case MDIALOG:
dialog = new MyDialog(this);
((MyDialog) dialog).setItems("String5","String6","String7","String8");
break;
}
}

public void setItems( String s1,String s2, String s3, String s4)
{
array_adapter.clear();
array_adapter.add(s1);
array_adapter.add(s2);
array_adapter.add(s3);
array_adapter.add(s4);
tv.setText("");
Log.i(TAG, s1);
Log.i(TAG, s2);
Log.i(TAG, s3);
Log.i(TAG, s4);

}

Vielen Dank schon mal im Vorraus.
 

Swoop

Gesperrter Benutzer
JavaTags nutzen! So kann ja kein Mensch den Code verstehen !

Setzt du den Dialog irgendwo ? wenn ja musst du ihn vllt nach jeder setItems mehtode aktualisieren oder neu setzen?

Poste doch mal am besten die komplette Klasse und wie sie verwendet wird in JAVA-Tags!
 

a_l_e_x

Mitglied
hier mal die Dialog Klasse mit Java TAGs ! (war vorhin leider in eile wg. Arbeit.)

i
Java:
mport android.app.Dialog;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.TextView;

public class MyDialog extends Dialog implements android.view.View.OnClickListener, OnItemSelectedListener
{
	Spinner sp;
	TextView tv;
	Button b1;
	Button b2;
	ArrayAdapter<String> array_adapter;
	Context cont;
	String a1;
	String a2;
	String a3;
	String a4;
	private static final String TAG = "MyDIALOG";
       private final int MDIALOG = 0;

	public MyDialog(Context context)
	{
		super(context);
		this.cont = context;
	}
	public void setItems( String s1,String s2, String s3, String s4)
	{		
		a1 = s1;
		a2 = s2;
		a3 = s3;
		a4 = s4;
	}
	@Override
	public void onStart ()
	{
		super.onStart();
		this.setTitle(R.string.dialog_title);
		this.setContentView(R.layout.dialog_layout);	
		sp = (Spinner)this.findViewById(R.id.dialog_spinner);
		tv = (TextView) this.findViewById(R.id.dialog_textview);
		b1 = (Button) this.findViewById(R.id.dialog_button1);
		b1.setOnClickListener(this);
		b2 = (Button) this.findViewById(R.id.dialog_button2);
		b2.setOnClickListener(this);
		
		array_adapter = new android.widget.ArrayAdapter<String>(this.getContext(),android.R.layout.simple_spinner_item);
		sp.setAdapter(array_adapter);

		sp.setOnItemSelectedListener(this);
		
		array_adapter.clear();
		array_adapter.add(a1);
		array_adapter.add(a2);
		array_adapter.add(a3);
		array_adapter.add(a4);	
		
		tv.setText("");
		
		Log.i(TAG, a1);
		Log.i(TAG, a2);
		Log.i(TAG, a3);
		Log.i(TAG, a4);
	}
	public void onClick(View v)
	{
		// noch nix
		
	}
	@Override
	public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
			long arg3)
	{
		tv.setText(sp.getSelectedItem().toString());
	}
	@Override
	public void onNothingSelected(AdapterView<?> arg0) {
		// TODO Auto-generated method stub
		
	}
}

hab auch verucht in der onPrepareDialog ertmal mit dialog = null; den Dialog zu löschen.

Java:
protected void onPrepareDialog (int id, Dialog dialog)
	{
		switch(id)
		{
		case MDIALOG:
			dialog = null;
			dialog = new MyDialog(this);
			((MyDialog) dialog).setItems("String5","String6","String7","String8");
		break;
		}		
	}

bringt aber auch nix.

der aufruf erfolg auf drücken eines Button
showDialog(MDIALOG);
 

a_l_e_x

Mitglied
ok nach weile bei google hab ich folgendes gefunden.

I've found out that (because of the internal caching mechanism) it may be better not to call showDialog() in the activity and use onCreateDialog() to create a dialog, if the content of the dialog is modified dynamically.

rufe den Dialog jetzt über dialog.show() auf und da gehts dann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Android Probleme mit BLE-Notify Android & Cross-Platform Mobile Apps 2
J Android Probleme mit der Realm Datenbank Android & Cross-Platform Mobile Apps 3
J Android Probleme mit Navigation-Fragments? Android & Cross-Platform Mobile Apps 0
N Probleme mit custom dynamic ListView Android & Cross-Platform Mobile Apps 15
B Android Probleme mit Android Studio Android & Cross-Platform Mobile Apps 6
B Android Probleme mit Realm Datenbank Android & Cross-Platform Mobile Apps 2
B Android Probleme mit ArrayList Android & Cross-Platform Mobile Apps 6
J Android Probleme mit FileProvider Android & Cross-Platform Mobile Apps 1
B Probleme mit Firebase Authentication Android & Cross-Platform Mobile Apps 25
H Android Probleme mit SearchView in ArrayAdapter Android & Cross-Platform Mobile Apps 7
ATZENPOWER Android Probleme mit mobilen Daten via lte Android & Cross-Platform Mobile Apps 10
S Android Probleme beim Verbinden mit einer HTTPS Seite Android & Cross-Platform Mobile Apps 4
B Android Probleme mit RealmObject? Android & Cross-Platform Mobile Apps 1
M Android ExpandableListView merkwürdige Probleme Android & Cross-Platform Mobile Apps 20
F Probleme mit Google-Maps Android & Cross-Platform Mobile Apps 0
B Android Probleme mit ViewPager? Android & Cross-Platform Mobile Apps 5
J Probleme mit ViewPager und Activity Android & Cross-Platform Mobile Apps 1
B Android Probleme mit Eclipse? Android & Cross-Platform Mobile Apps 6
E MAVLINK Probleme Android & Cross-Platform Mobile Apps 1
C Android Probleme mit JavaMail Android & Cross-Platform Mobile Apps 5
B Android Probleme mit Facebook-SDK? Android & Cross-Platform Mobile Apps 1
D Android Probleme mit info/warning (1, 902) Android & Cross-Platform Mobile Apps 4
D Android Gallery Probleme Android & Cross-Platform Mobile Apps 3
B Probleme mit App auf Galaxy S3? Android & Cross-Platform Mobile Apps 13
S Hat der AVD-Manager Probleme mit GPS? Android & Cross-Platform Mobile Apps 5
P Probleme mit xml-Layout Android & Cross-Platform Mobile Apps 2
P Android Probleme mit Spinner Android & Cross-Platform Mobile Apps 3
F Layout mit listViews (Scrolling-Probleme) Android & Cross-Platform Mobile Apps 2
U SQLite-Datenbank Probleme Android & Cross-Platform Mobile Apps 8
T Android Probleme bei Facebook Integration Android & Cross-Platform Mobile Apps 5
tfa Android Layout-Probleme: View programmatisch erweitern (addContentView) Android & Cross-Platform Mobile Apps 7
A Probleme mit ListView / ArrayAdapter Android & Cross-Platform Mobile Apps 3
A Probleme mit Form.isShown Android & Cross-Platform Mobile Apps 9
A Probleme mit Calendar auf dem Handy Android & Cross-Platform Mobile Apps 3
U Probleme mit der drawString Methode bei Canvas Android & Cross-Platform Mobile Apps 8
P Probleme mit dem Deployment Android & Cross-Platform Mobile Apps 3
P Probleme mit Streams Android & Cross-Platform Mobile Apps 4
C 2 kleine Probleme (Datei lesen, String durchsuchen) Android & Cross-Platform Mobile Apps 16
G Proguard Obfuscator macht Probleme Android & Cross-Platform Mobile Apps 2
P Probleme mit RMS Android & Cross-Platform Mobile Apps 5
R Android Dialog verstecken, statt zu schliessen Android & Cross-Platform Mobile Apps 7
J Input Dialog - ist das so richtig ? Android & Cross-Platform Mobile Apps 1
L Leerer Dialog Android & Cross-Platform Mobile Apps 0
L Dialog anzeigen wenn auf Button gedrückt wird. Android & Cross-Platform Mobile Apps 4
B Android Alert Dialog mit sound oder Android & Cross-Platform Mobile Apps 1
J Dialog in Fragment Android & Cross-Platform Mobile Apps 6
B Senden via Dialog? Android & Cross-Platform Mobile Apps 6
K Android Activity for result aus Dialog Android & Cross-Platform Mobile Apps 1
N Android Retain Dialog verschwindet beim drehen Android & Cross-Platform Mobile Apps 4
T Android - Toast Dialog oder was anders? Android & Cross-Platform Mobile Apps 3
A Android Dialog wird nicht sofort angezeigt Android & Cross-Platform Mobile Apps 12
L Custom Dialog Button event Android & Cross-Platform Mobile Apps 2
I modaler Dialog Android & Cross-Platform Mobile Apps 2

Ähnliche Java Themen

Neue Themen


Oben