我得到一个adapter
,我得到一个打开“应用程序相机”的动作,然后捕获图像。从这里开始,它必须执行一个名为onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
的函数,但由于无法扩展AppCompatActivity(),因此无法使用override
这个方法。
有帮助吗?
答案 0 :(得分:1)
不能,在Java类中,不能同时从两个类继承。只有一个。考虑到您的适配器已经extends RecyclerView.Adapter
,那么您就不能。
推荐的方法是使用回调。回调是一个interface
,它是主机活动或片段上的implements
,并作为参数传递给另一个类(在这种情况下为适配器)。您的适配器将保留对回调的引用,因此,单击视图时,该引用将被称为触发对活动或片段的实现。
您可以查看详细的说明here
onActivityResult
内拍照后,将结果传递给适配器public void addPhoto(SomeObject object){
yourData.add(object);
notifyDataseChanged();
}
onActivityResult
中的代码应该是这样的SomeObject objet = data... //you have to get the data and transform it to your format
adaper.addPhoto(object)