我已经在我的项目中实施了第三方相机扫描应用程序
我有一个扩展视图的适配器,所以我可以有一个自定义布局
在视图中我有一个按钮
当我创建视图时,我将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
}
}
);
答案 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
}
}