自定义适配器类中的setActivityForResult()

时间:2015-10-07 01:53:27

标签: android

我有一个自定义适配器类,它扩展了BaseAdapter。此类使用Inflater填充具有不同日期的GridView。在这个类中,我有一个onClick方法。单击任何日期时,它会将用户带到另一个活动。那部分工作正常。

我希望将一些数据返回到我的自定义适配器类中的单击视图。有人为什么我无法在我的onClick中实现startActivityForResult()方法?我将Context从我的MainActivity传递到Custom Adapter Class。下图显示了唯一可用的方法。谢谢。

enter image description here

2 个答案:

答案 0 :(得分:1)

ContextActivity类不一样,但在某些情况下它们可以执行类似的功能。只有Activity类具有startActivityForResult方法,因此您应该使用对Context的引用而不是add_action('wp_footer', 'myfirstplugin_admin_actions');

答案 1 :(得分:1)

我在片段中使用自定义适配器,为此,我在自定义适配器的构造函数中传递Fragment对象。因此,在您的情况下,传递Activity的实例将起作用。

或者,更简洁的解决方案是在适配器中创建一个接口。像这样 -

public interface FeedItemClickListener {
        void onMyItemClick(View view);
}

并在您使用适配器的活动中实现此接口。覆盖它的功能就像这样 -

@Override
    public void onMyItemClick(View view) {
//Do your work here.
}

你很高兴。