# Problem mit setOnClickListener



## mock789 (22. Sep 2012)

Hi,

ich habe zwei Activities geschrieben. Auf der ersten befinden sich drei Buttons. Drücke ich den obersten "vorspeiseButton" gelange ich auf die "Vorspeisen"-Activity. Dort habe ich wieder einen Button namens "vorspeisenActivityButton". Nur versuche ich den jetzt beim OnClickListener anzumelden hängt sich mein Programm auf. 

Ich hoffe ich habe das Problem einigermaßen verständlich beschrieben : )

Hier ist noch mal der Code meiner beiden Activities:



Zuerst mal meine MainActivity:



```
package com.example.speisekartezwei;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {

	
	private Button vorspeiseButton;
	private Button hauptspeiseButton;
	private Button dessertButton;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        
        vorspeiseButton  = (Button) this.findViewById(R.id.vorspeiseButton);
        vorspeiseButton.setOnClickListener(this);
        hauptspeiseButton  = (Button) this.findViewById(R.id.hauptgerichtButton);
        hauptspeiseButton.setOnClickListener(this);
        dessertButton  = (Button) this.findViewById(R.id.dessertButton);
        dessertButton.setOnClickListener(this);
    }

	

	public void onClick(View v) {
		
		if(v == vorspeiseButton) {
			Intent intent = new Intent(this, Vorspeisen.class);
			startActivity(intent);
		}
		else if(v == hauptspeiseButton) {
			Intent intent = new Intent(this, Hauptgerichte.class);
			startActivity(intent);
		}
		else if(v == dessertButton) {
			Intent intent = new Intent(this, Desserts.class);
			startActivity(intent);
		}
	}

    
}
```


und hier die zweite Activity namens Vorspeisen



```
package com.example.speisekartezwei;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Vorspeisen extends Activity implements OnClickListener {

	
	private Button vorspeisenActivityButton;
	
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vorspeise);
        
        vorspeisenActivityButton  = (Button) this.findViewById(R.id.vorspeiseButton);
        vorspeisenActivityButton.setOnClickListener(this);

      
    }

	public void onClick(View v) {
		// TODO Auto-generated method stub
		
	}

	

  
}
```


----------



## eRaaaa (22. Sep 2012)

Und wie lautet die Exception die geworfen wird? Hast du mal in den Logcat geschaut? Aber ich verstehe noch nicht ganz was du vor hast. In deiner zweiten Activity, hast du doch eine ganz andere View, da ist der Button doch eh gar nicht drauf(daher dann wohl auch die Exception)? Der ist doch nur auf der ersten View? Wieso hast du hier nicht einfach einen zweiten/anderen Button?


----------



## mock789 (22. Sep 2012)

eRaaaa hat gesagt.:


> Und wie lautet die Exception die geworfen wird? Hast du mal in den Logcat geschaut? Aber ich verstehe noch nicht ganz was du vor hast. In deiner zweiten Activity, hast du doch eine ganz andere View, da ist der Button doch eh gar nicht drauf(daher dann wohl auch die Exception)? Der ist doch nur auf der ersten View? Wieso hast du hier nicht einfach einen zweiten/anderen Button?





???:L

Ähhhhhhhhh..... moment, kann gerad nicht ganz folgen.... das sind doch zwei verschieden Buttons:

Einmal der vorspeiseButton und einmal der vorspeiseActivityButton????


----------



## eRaaaa (22. Sep 2012)

Joah, aber greifst du nicht auf die selbe Id, ergo auf den selben Button, zu ? 

(Zeile 24 in der einen und Zeile 22 in der anderen Klasse)

```
(Button) this.findViewById(R.id.vorspeiseButton);
```

Und die Logcat-Message hast du auch noch nicht gepostet. Das hilft sicherlich auch den anderen Helfern...


----------



## mock789 (22. Sep 2012)

:lol:


Okay alles klar.... jetzt hab ich gecheckt was du meinst!!!!!!!!!!!!!!!!!


----------

