- Forum-Beiträge: 2
28.12.2015, 20:10:47 via Website
28.12.2015 20:10:47 via Website
Bei meinen ersten Gehversuchen hänge ich an einem vermeintlichen einfachen Problem und komme nicht weiter. Ich möchte von meiner Mainaktivity eine Subactivity aufrufen und von dieser wieder zurück zur Main (die Sub dabei beenden). Jedoch schmiert mir nach dem Aufruf der Subactivity diese an der Stelle der Textzuweisung zum Button ab b
utton.setText(R.string.btn2);
Die Fehlermeldung, die im Monitor ausgegeben wird java.lang.RuntimeException: Unable to start activity ....SubActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setText(int)' on a null object reference
Wo liegt der Fehler, der Button auf der SubActivity ist im Designmodus sichtbar und mit button2 benamt?
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button1);
button.setText(R.string.btn1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent subaktiv = new Intent( MainActivity.this, SubActivity.class);
startActivity(subaktiv);
}
});
}
}
....
public class SubActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button2);
button.setText(R.string.btn2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent mainaktiv = new Intent( SubActivity.this, MainActivity.class);
startActivity(mainaktiv);
finish();
}
});
}
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.