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?安卓

单击图片后,图像捕获上的 onActivityResult 不显示确定按钮

从图库或相机返回后不调用 onActivityResult

onActivityResult 方法没有被调用

使用相机意图时未调用 OnActivityResult()?