【问题标题】:Receiving result in android在android中接收结果
【发布时间】:2016-05-11 05:56:02
【问题描述】:

我是 android 的初学者..我在我的应用程序中集成了 qr 扫描仪..问题是我在两个片段中添加了 qr 扫描仪按钮..为了接收我在 activityResult 方法中添加的结果..在我的 mainactivity..还有其他方法吗在android中接收结果而不是OnactivityResult方法..如果不是他们我应该在我的Mainactivty中添加多个onActivityResult方法..任何人都可以帮助我..

below is the my code for onActivityresult
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
    IntentResult scanResult =IntentIntegrator.parseActivityResult(requestCode, resultCode, 
                data);
    if (scanResult != null) {

        if (scanResult.getContents() == null) {

            Log.d("ScanFragment", "Cancelled scan");
            Toast.makeText(this, "Cancelled", Toast.LENGTH_SHORT).show();
        } else {

            Toast.makeText(this, " " + scanResult.getContents(), Toast.LENGTH_SHORT).show();


        }

    } else {
        //result fragment
        super.onActivityResult(requestCode, resultCode, data);
    }
    // }

}

【问题讨论】:

  • 用多个请求代码处理结果。
  • 可以发给我一个示例代码
  • 查看here给出的示例

标签: java android


【解决方案1】:
static final int FRAGMENT_ONE_REQUEST = 1;  // The request code
static final int FRAGMENT_TWO_REQUEST = 2;  // The request code

然后从片段一中使用它

 startActivityForResult(intent, FRAGMENT_ONE_REQUEST);

然后从片段二中使用它

startActivityForResult(intent, FRAGMENT_TWO_REQUEST);

在每个片段中

@Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(resultCode == Activity.RESULT_OK) {
       //some code
         if (requestCode == FRAGMENT_ONE_REQUEST) {
       }
    }
}

【讨论】:

  • 兄弟我如何在片段中使用 startActivityForResult..你能给我一个完整的代码
  • 为什么在第一个条件下检查requestCode?您要么检查这是否正常,然后管理请求代码,要么管理每个请求代码和结果代码,但在这里,如果您来自 FRAGMENT_TWO,这将不起作用。
  • 那是我的错。简单的复制粘贴错误。更正了!谢谢! @AxelH
  • 不客气,添加 Frag_two 的条件只是为了完成,你有我的投票。
  • 查看我的完整代码button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { IntentIntegrator integrator = new IntentIntegrator(getActivity()); integrator.initiateScan(); 这个我在片段中添加了我在活动中添加的onactivity结果方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多