Custom Dialog Button event

L

Lodorvonhal

Neues Mitglied
0
Hallo ich habe folgendes Problem.

Ich habe eine App gebastelt und rufe über die Menü Taste ein Menü auf und dort über ein Element einen Custom Dialog. Die Anleitung dazu habe ich Dialogs | Android Developers hier her.

der Dialog öffnet sich auch. Alles ohne Probleme.

Ich kann nur leider auf die Buttons keine Events aufrufen. Ich weis momentan nicht weiter.

Hier der Code:
Code:
dialoge = new Dialog(MainActivity.this);
                
dialoge.setContentView(R.layout.v_options);
 
dialoge.setTitle("Custom Dialog");
dialoge.show();
                
LayoutInflater inflater = (LayoutInflater) MainActivity.this
                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.v_options,
                          (ViewGroup) MainActivity.this.findViewById(R.layout.v_options));
Button button = (Button) layout.findViewById(R.id.v_options_button_save);
Log.i(TAG, "nanam    ");
button.setOnClickListener(new View.OnClickListener() {
                    
@Override
public void onClick(View v) {
dialoge.dismiss();
Log.i(TAG, "blaaaa");
}
});

Danke fürs lesen!
 
Du setzt erst mit setContentView ein Layout direkt aus den Resourcen.

Dann kreierst du ein weiteres Layout aus den Resourcen. Dieses Mal zufuß.

Im diesem zweiten (überflüssigen) Layout setzt du die Callbacks (das du obendrein nicht mit dem Dialog verbindest). Diese werden dann natürlich nicht aufgerufen.

Du musst stattdessen die Callbacks im Button des ersten Layouts registrieren.

Alle Klarheiten beseitigt?
 
  • Danke
Reaktionen: h4kkin und Lodorvonhal
WFT

vielen Dank so gehts nun. Danke nochmal.

Code:
dialoge = new Dialog(MainActivity.this);
	        	
	        	dialoge.setContentView(R.layout.v_options);
	        	dialoge.setTitle(R.string.v_options);
	        	
	        	Button button = (Button) dialoge.findViewById(R.id.v_options_button_abort);
	        	Log.i(TAG, "nanam    ");
	        	button.setOnClickListener(new View.OnClickListener() 
	        	{
	    			@Override
	    			public void onClick(View v) {
	    				dialoge.dismiss();
	    				Log.i(TAG, "blaaaa");
	    			}
	    		});
	        	
	        	dialoge.show();
 
Fürs Danke gibts nen Button :D
 

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
337
swa00
swa00
MES
Antworten
10
Aufrufe
819
MES
MES
S
Antworten
3
Aufrufe
636
swa00
swa00
Zurück
Oben Unten