我有一个adapter
,我有一个动作,打开一个“应用程序相机”,然后我捕获图像。从这里开始执行一个名为onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)
的函数,但我不能用override
方法,因为我无法扩展AppCompatActivity()。
有帮助吗?
你不能,在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)