Ich bin neu in Android und versuche nur herauszufinden, wie man mit der Methode onActivityResult arbeitet. Ich möchte auf mainActivity klicken, zu einer anderen Aktivität gehen, Namen eingeben und zu mainActivity zurückkehren. Aber ich habe Probleme mit der App. Ich habe immer diese Fehlermeldung erhalten:Kann keine andere Aktivität mit Intent aufrufen
java.lang.NullPointerException: Attempt to invoke virtual method...
09-20 22:14:32.212 30617-30617/com.genaepic.p029_simpleactivityresult E/AndroidRuntime:
FATAL EXCEPTION: main Process: com.genaepic.p029_simpleactivityresult, PID: 30617 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.genaepic.p029_simpleactivityresult/com.genaepic.p029_simpleactivityresult.NameActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at com.genaepic.p029_simpleactivityresult.NameActivity.onCreate(NameActivity.java:22) at android.app.Activity.performCreate(Activity.java:6679) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Meine Haupttätigkeit:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
TextView textView;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.tv_main);
button = (Button) findViewById(R.id.btn_iputName);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent = new Intent(this, NameActivity.class);
startActivityForResult(intent, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(data == null) {
return;
}
String name = data.getStringExtra("name");
textView.setText("Your name is " + name);
}
}
Meine zweite Aktivität:
public class NameActivity extends AppCompatActivity implements View.OnClickListener {
EditText editText;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_name);
editText = (EditText) findViewById(R.id.et_name);
button = (Button) findViewById(R.id.btn_iputName);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("name", editText.getText().toString());
setResult(RESULT_OK, intent);
finish();
}
}
Mein xml-Code für mainActivity:
<Button
android:id="@+id/btn_iputName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="input your name"
tools:layout_constraintTop_creator="1"
android:layout_marginStart="34dp"
android:layout_marginTop="92dp"
tools:layout_constraintLeft_creator="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginLeft="34dp" />
<TextView
android:id="@+id/tv_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your name is"
tools:layout_constraintTop_creator="1"
android:layout_marginStart="34dp"
android:layout_marginTop="33dp"
tools:layout_constraintLeft_creator="1"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginLeft="34dp" />
Mein xml-Code für NameActivity
<Button
android:id="@+id/btn_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="116dp"
android:text="ok"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintRight_creator="1"
tools:layout_constraintTop_creator="1" />
<EditText
android:id="@+id/et_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="64dp"
android:layout_marginRight="84dp"
android:layout_marginTop="31dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:layout_constraintRight_creator="1"
tools:layout_constraintTop_creator="1" />
</android.support.constraint.ConstraintLayout>
Sie können eine Antwort mit dem Häkchen neben einem von ihnen akzeptieren –