Android 如何向onActivityResult(int请求代码、int结果代码、意图数据)提供取消输入

Android 如何向onActivityResult(int请求代码、int结果代码、意图数据)提供取消输入,android,android-intent,android-activity,Android,Android Intent,Android Activity,我把活动称为 Intent intent = new Intent(this, DetailsActivity.class); startActivityForResult(intent, 1); 我必须按“添加”和“取消”按钮。用户输入数据并单击“添加”后,工作正常。但我不确定要在onClickCancel中添加什么,因为如果我只放入finish()我会得到nullPointerException,因为它期望onActivityResult(int requestCode,int resul

我把活动称为

Intent intent = new Intent(this, DetailsActivity.class);
startActivityForResult(intent, 1);

我必须按“添加”和“取消”按钮。用户输入数据并单击“添加”后,工作正常。但我不确定要在onClickCancel中添加什么,因为如果我只放入finish()我会得到nullPointerException,因为它期望onActivityResult(int requestCode,int resultCode,Intent data)

如果requestCode不匹配或数据为null,只需判断onActivityResult方法中的请求代码和数据,然后做注释

只要判断ActivityResult方法中的请求代码和数据,如果请求代码不匹配或数据为空,那么做注释

只要判断ActivityResult方法中的请求代码和数据,如果请求代码不匹配或数据为空,然后注意“Cancel”按钮的onClick()事件可以有finish()活动方法

@override
public void onClick(View v){
finish();
}
但是活动,您将意图发送到DetailsActivity.class,您称之为

Intent intent = new Intent(this, DetailsActivity.class);
startActivityForResult(intent, 1);
因此,您应该在同一活动中重写活动的onActivityResult()方法,并处理请求代码和结果代码。案例为空或不为空,结果代码为整数。有关此信息,请参阅文档

另一个解决方案是,如果您不希望从DetailsActivity获得任何数据,只需调用

Intent intent = new Intent(this, DetailsActivity.class);
startActivity(intent, 1);
希望这有帮助。

用于“取消”按钮的onClick()事件可以具有finish()活动方法

@override
public void onClick(View v){
finish();
}
但是活动,您将意图发送到DetailsActivity.class,您称之为

Intent intent = new Intent(this, DetailsActivity.class);
startActivityForResult(intent, 1);
因此,您应该在同一活动中重写活动的onActivityResult()方法,并处理请求代码和结果代码。案例为空或不为空,结果代码为整数。有关此信息,请参阅文档

另一个解决方案是,如果您不希望从DetailsActivity获得任何数据,只需调用

Intent intent = new Intent(this, DetailsActivity.class);
startActivity(intent, 1);
希望这有帮助。

用于“取消”按钮的onClick()事件可以具有finish()活动方法

@override
public void onClick(View v){
finish();
}
但是活动,您将意图发送到DetailsActivity.class,您称之为

Intent intent = new Intent(this, DetailsActivity.class);
startActivityForResult(intent, 1);
因此,您应该在同一活动中重写活动的onActivityResult()方法,并处理请求代码和结果代码。案例为空或不为空,结果代码为整数。有关此信息,请参阅文档

另一个解决方案是,如果您不希望从DetailsActivity获得任何数据,只需调用

Intent intent = new Intent(this, DetailsActivity.class);
startActivity(intent, 1);
希望这有帮助。

用于“取消”按钮的onClick()事件可以具有finish()活动方法

@override
public void onClick(View v){
finish();
}
但是活动,您将意图发送到DetailsActivity.class,您称之为

Intent intent = new Intent(this, DetailsActivity.class);
startActivityForResult(intent, 1);
因此,您应该在同一活动中重写活动的onActivityResult()方法,并处理请求代码和结果代码。案例为空或不为空,结果代码为整数。有关此信息,请参阅文档

另一个解决方案是,如果您不希望从DetailsActivity获得任何数据,只需调用

Intent intent = new Intent(this, DetailsActivity.class);
startActivity(intent, 1);

希望这对你有所帮助。

无论你在哪里完成你的活动,只要把

 Intent backIntent = new Intent();
 setResult(RESULT_CANCELED, backIntent);
 finish(); 
OnActivityResult()
中,您可以执行(第一条语句)


无论你在哪里完成你的活动,只要把

 Intent backIntent = new Intent();
 setResult(RESULT_CANCELED, backIntent);
 finish(); 
OnActivityResult()
中,您可以执行(第一条语句)


无论你在哪里完成你的活动,只要把

 Intent backIntent = new Intent();
 setResult(RESULT_CANCELED, backIntent);
 finish(); 
OnActivityResult()
中,您可以执行(第一条语句)


无论你在哪里完成你的活动,只要把

 Intent backIntent = new Intent();
 setResult(RESULT_CANCELED, backIntent);
 finish(); 
OnActivityResult()
中,您可以执行(第一条语句)


你可以有这样的东西:

public void cancelButton(View view) {

    startActivity(new Intent(MyCurrentActivity.this, TheClassIWantToReturnToActivity.class));
}
在xml中

<Button
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:onClick="cancelButton" 
    android:text="CANCEL" />


对于OnActivityResult,它是单独的,因为它是一个onclick操作,独立于发布任何数据或使用“发送”按钮执行的任何操作。

您可以有如下功能:

public void cancelButton(View view) {

    startActivity(new Intent(MyCurrentActivity.this, TheClassIWantToReturnToActivity.class));
}
在xml中

<Button
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:onClick="cancelButton" 
    android:text="CANCEL" />


对于OnActivityResult,它是单独的,因为它是一个onclick操作,独立于发布任何数据或使用“发送”按钮执行的任何操作。

您可以有如下功能:

public void cancelButton(View view) {

    startActivity(new Intent(MyCurrentActivity.this, TheClassIWantToReturnToActivity.class));
}
在xml中

<Button
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:onClick="cancelButton" 
    android:text="CANCEL" />


对于OnActivityResult,它是单独的,因为它是一个onclick操作,独立于发布任何数据或使用“发送”按钮执行的任何操作。

您可以有如下功能:

public void cancelButton(View view) {

    startActivity(new Intent(MyCurrentActivity.this, TheClassIWantToReturnToActivity.class));
}
在xml中

<Button
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:onClick="cancelButton" 
    android:text="CANCEL" />


对于OnActivityResult,它是单独的,因为它是一个onclick操作,独立于发布任何数据或使用“发送”按钮执行的任何操作。

用户可以选择添加数据或取消。在这种情况下,它应该返回到上一个活动或屏幕否只有两个活动,因此它应该返回到MainActivity用户可以选择添加数据或取消。在这种情况下,它应该返回到上一个活动或屏幕否只有两个活动,因此它应该返回到MainActivity用户可以选择添加数据或取消。在这种情况下,它应该返回到上一个活动或屏幕否只有两个活动,因此它应该返回到MainActivity用户可以选择添加数据或取消。在这种情况下,它应该返回到上一个活动或屏幕否只有两个活动,所以它应该返回到MainActivity如果我将setResult(0,intent)放入activity,我会得到java.lang.RuntimeException:Failure delivering ResultInfo{who=null,request=1,result=0,data=intent{(has extras)}这个异常不是真正的原因,这是因为onActivityResult中出现NullPointException。这可能会有帮助:下次您可能在这里放置详细异常堆栈时,它可以帮助您更准确地发现问题:)如果我放置setResult(0,intent),我将获得java.lang.RuntimeException:传递结果ResultInfo{who=null,request=1,result=0,data=intent{(has)