3 回答
TA贡献1841条经验 获得超3个赞
如果onActivityResult
到达您的位置,则表示 SecondActivity 已启动。在完成第二个活动之前,您只需检查要在其中做什么。例如,对于上面的代码,您在创建活动时调用完成活动。
您的代码有效,您只需找到放置此代码的正确位置:
Intent returnIntent = new Intent(); returnIntent.putExtra(EXTRA_RETURN, BTN1.getText().toString()); setResult(RESULT_OK, returnIntent); finish();
按照你的逻辑。
我认为这会有所帮助。
TA贡献1773条经验 获得超3个赞
对于我所看到的,我想您只是在activity_main布局中的onClick属性中启动 SecondActivity ,并且一旦进入 SecondActivity,一旦 onCreate 发生,您只需在此处调用finish():
Intent returnIntent = new Intent();
returnIntent.putExtra(EXTRA_RETURN, BTN1.getText().toString());
setResult(RESULT_OK, returnIntent);
finish();
因此,一旦创建了活动,它就完成了......
也许您想要做的是返回 SecondActivity 中的按钮单击文本?
就像是:
BTN1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent returnIntent = new Intent();
returnIntent.putExtra(EXTRA_RETURN, BTN1.getText().toString());
setResult(RESULT_OK, returnIntent);
finish();
}
});
也许您应该为每个按钮添加一个onClick属性,并添加对一个方法的调用,该方法将获取单击的按钮的文本,如下所示:
public void clickButton(View view) {
Intent returnIntent = new Intent();
returnIntent.putExtra(EXTRA_RETURN, ((Button) view).getText().toString());
setResult(RESULT_OK, returnIntent);
finish();
我还没有试过代码,但我希望这对你有帮助!
TA贡献1757条经验 获得超7个赞
如果第二个Activity
没有添加到AndroidManifest.xml
,IDE 会抱怨它没有添加。
但是,如果您得到:Button clicked
在日志中,那么 mainActivity
没有问题,但是,请检查第二个中的代码Activity
:
Intent returnIntent = new Intent(); returnIntent.putExtra(EXTRA_RETURN, BTN1.getText().toString()); setResult(RESULT_OK, returnIntent); finish();
一旦执行了putExtra()
,它实际上完成了Activity
:finish();
之后。
添加回答
举报