Wieso stürzt meine App mit folgendem Code immer ab?

IZZO

Mitglied
Mein MainActivity Code ist so:

Java:
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.*;

public class MainActivity extends Activity implements OnClickListener {
	
	public Button button;
	public TextView tv;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		button = (Button) findViewById(R.id.button);
		tv = (TextView) findViewById(R.id.tf);
		button.setOnClickListener(this);
		tv.setFocusable(false);	
		tv.setText("hallo");
	}
	


	@Override
	public void onClick(View e) {
		
		if(e.equals(button)){
			
		
		if((String)tv.getText() == "hallo"){
		tv.setText("bla");
		} 
		
		else{
		tv.setText("hallo");
	  }
		
	}
  }
}

Wenn ich den Button drücke stürzt die App ab. Wenn ich den Cast String weglasse wird immer nur die else-Anweisung ausgeführt jedoch nie die If-Anweisung obwohl die ja eigentlich ausgeführt werden sollte!
Vielen Dank!
 

sheel

I love Asm
Nicht zu String casten :rolleyes:
...sondern die toString-Methode von CharSequence aus der Doku verwenden.
(Und Strings auch nicht mit == vergleichen).