Listview onItemClickListener 问题适配器与适配器
Posted
技术标签:
【中文标题】Listview onItemClickListener 问题适配器与适配器【英文标题】:Listview onItemClickListener issue Adapter with in Adapter 【发布时间】:2014-09-28 05:00:43 【问题描述】:我正在实现 FlipBoard 类型的视图,其中 FlipAdapter 有多个具有 getView() 的页面,我正在添加另一个带有适配器的列表视图并放置 onitemclickListener,如下面的代码所示。我的问题是点击监听器正在处理第二页的页面项目,而显示的视图是第一页
例如: item1 , item 2 , item 3 在第 1 页中,第 4 项第 5 项第 6 项在第 2 页中。 当您单击第 1 项时,实际上单击了第 2 页中的第 4 项。
找不到任何帮助的原因。
@覆盖 public View getView(int position, View convertView, ViewGroup parent)
convertView = inflater.inflate(R.layout.story_list_page, parent, false);
ListView listView = (ListView) convertView
.findViewById(R.id.list_content);
listView.setVerticalScrollBarEnabled(false);
Log.d(TAG, "The current page id is " + position + "item id "
+ items.get(position).getId());
mCurrentPageAdapter = new PageListAdapter(mContext, position);
listView.setAdapter(mCurrentPageAdapter);
listView.setOnTouchListener(gestureListener);
listView.setOnItemClickListener(itemClickListener);
return convertView;
onItemCLickListner()
OnItemClickListener itemClickListener = new OnItemClickListener()
@Override
public void onItemClick(AdapterView<?> adapter, View view,
int position, long arg3)
Log.d("adapter", "Item clicked" + position);
ContentData item = (ContentData) mCurrentPageAdapter
.getItem(position);
Intent detailsIntent = new Intent(mContext, StoryContentActivity.class);
Log.d(TAG, "looking out for story id "+item.id);
detailsIntent.putExtra("STORY_ID", item.id);
mContext.startActivity(detailsIntent);
;
【问题讨论】:
请添加您的 onitemclickListener 我认为问题出在 getView() 对象点击监听器上,:-( 【参考方案1】:你将相同的位置传递给
mCurrentPageAdapter = new PageListAdapter(mContext, position);
在第一页中,您对第 1 项的意图是正确的,但在第二页中创建了新片段,因此位置也是 1 并从头开始,因此在每个页面中按项目数添加位置,例如在页面中一在第二页中加零,在第一页的所有项目中添加,在第三页中,在第一页和第二页的所有项目中添加,遵循该模式。
希望能帮到你
【讨论】:
你是对的,正如我在之前的评论中提到的,纠正它谢谢。以上是关于Listview onItemClickListener 问题适配器与适配器的主要内容,如果未能解决你的问题,请参考以下文章