使用OnClicklistener

时间:2015-07-14 20:54:10

标签: java android android-activity onclicklistener

我已经在我的项目中实施了第三方相机扫描应用程序

我有一个扩展视图的适配器,所以我可以有一个自定义布局

在视图中我有一个按钮

当我创建视图时,我将OnclickListener添加到我想要点击的图像

我希望这个OnclickListener能够调用相机,但我需要调用startActivityForResult

我对以这种方式调用时onActivityResult的位置感到困惑。

我目前的尝试是创建一个单独的类(scan_activity),它扩展了活动,但我无法让onclicklistener启动类

然后我试图在setOnClickListener中声明它,你可以猜测也失败了。

我猜这个课程的调用是前进的方向。我确定它很容易解决,但我没有看到它

请帮助

提前致谢

    imgCamera.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {

            Intent intent = new Intent(context, ScanActivity.class);
            intent.putExtra(ScanConstants.OPEN_INTENT_PREFERENCE, 1);

            ((Activity) context).startActivityForResult(intent,99);
        }
                                 }
   );

和班级

imgCamera.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
              new ScanActivity
            }
                                     }
       );

1 个答案:

答案 0 :(得分:1)

第一个选项应该有效。您创建了一个Intent对象,并将活动组件指定为参数。 Android会为您创建一个Activity对象,因此,请勿手动执行此操作。 Android应该管理活动的生命周期。

通过启动结果活动,您告诉Android,当onActivityResult关闭时,您应该在第一项活动中使用请求代码99调用ScanActivity回调。

在您的活动中处理onActivityResult

@Override
public void onActivityResult (int requestCode, int resultCode, Intent data) {
    if (requestCode == 99) {
        // handle your result here
    }
}