我能够检测到个别回收者视图项目的位置,并能够点击它来烘烤它。现在我不想继续进行新的活动,并显示点击项目的详细信息,我该怎么做? 说,我正在显示联系人姓名列表和onclick我不想打开一个新的活动节目联系人的详细信息... 至少,如何在点击该联系人项目时再次举报联系人姓名,点击时可用的当前变量如何? 我打算将这些变量捆绑在一起,并按意图发送并显示在那里。
我知道我必须在这里实施
public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {
private OnItemClickListener mListener;
public interface OnItemClickListener {
public void onItemClick(View view, int position){
//i know i have to implement here
}
}
答案 0 :(得分:0)
我遇到了同样的问题。
第一种方法是将所有必需的数据作为附加内容附加,然后使用该意图启动所需的活动。在新活动中,从意图中获取所有额外内容。这种方法适用于少量数据,但如果必须将大量数据传递给另一个活动则效果不佳。
我使用的第二种方法如下。
创建一个存储所有必需数据字段的模型类。制作模型类的arraylist,并使用此arraylist填充您的recyclerview。现在你的arraylist的每个项目都是模型类的对象。
假设
您的模型类是 MyModel.java
你的arraylist是 ArrayList<' MyModel> myArrayList 强>
现在对你的模型类进行全面的引用。 e.g
MyModel模型;
为上述参考制作 setter 和 getter 方法。
现在,由于recyclerview的每个项目都是模型类的对象。当你点击一个项目时,在onClick方法中,使用setter方法设置上面对所点击的项目(模型类的对象)的全局引用。然后使用intent启动新活动(从onClick方法内部),并在新创建的活动的onCreate内部访问全局引用。通过这种方式,您可以访问所单击的项目(模型对象)并从该对象中获取必需的字段(数据)。