onActivityResult 方法调用按钮单击[重复]
Posted
技术标签:
【中文标题】onActivityResult 方法调用按钮单击[重复]【英文标题】:onActivityResult Method call onbutton click [duplicate] 【发布时间】:2019-07-13 19:34:38 【问题描述】:请写下答案 如何在按钮点击时调用片段的onActivityResult
Button button=view.findViewById(R.id.bbbtttnnn);
button.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Intent intent=new Intent();
intent.putExtra("name","charan");
startActivityForResult(intent,45);
);
【问题讨论】:
只是一个旁注:尽可能多地尝试始终为您的 ID 提供有意义/相关的名称。当我不得不回到我两年前编写的代码库时,我学到了很难的方法。它还可以帮助其他可能想要处理您的代码的人。 你能告诉我你想做什么/为什么要做什么吗?也许我们可以通过其他方式提供帮助,因为您的代码似乎不需要像这样。 不知道为什么问题这么多?自己google一下。 ***.com/questions/10407159/…。您显然不了解 ActivityForResult 的工作原理。所以我建议你尽快开始阅读。 @VygintasB 仔细阅读。它与其他问题不同。 @PratikButani 答案是一样的。简而言之,您不能自己调用 onActivityResult 。它被称为然后您打开的活动返回结果。 【参考方案1】:定义常量
public static final int REQUEST_CODE = 1;
使用意图
Intent intent = new Intent(Activity.this,
XYZActivity.class);
startActivityForResult(intent , REQUEST_CODE);
现在使用 onActivityResult 检索结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
try
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK)
String requiredValue = data.getStringExtra("key");
catch (Exception ex)
Toast.makeText(Activity.this, ex.toString(),
Toast.LENGTH_SHORT).show();
在下一个屏幕中使用此代码设置结果
Intent intent = getIntent();
intent.putExtra("key", value);
setResult(RESULT_OK, intent);
finish();
【讨论】:
但我使用了片段 那你面临什么问题? 点击按钮时应用程序崩溃 你能显示错误日志吗 @RahulArora ,您给出的答案只会打开他不想打开的活动,以上是关于onActivityResult 方法调用按钮单击[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android 登录按钮未调用 onActivityResult 或回调方法
适配器类中的super.onActivityResult?安卓