我正在实现FlipBoard类视图,其中FlipAdapter有多个页面,其中包含getView()我正在添加另一个带适配器的listview并放置onitemclickListener,如下面的代码所示。我的问题是点击监听器正在处理第二页的页面项目,而显示的视图是第一页
例如:item1,item 2,item 3在第1页,第4项第5项在第2页。 当您单击项目1时,实际上单击了第4页中的项目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);
}
};
答案 0 :(得分:1)
您将相同的位置传递给
mCurrentPageAdapter = new PageListAdapter(mContext, position);
在第一页中,您对第1项的意图是正确但在第二页中创建了新的片段,因此位置也是1并从头开始,因此在每个页面中按项目编号添加位置,例如在页面中在第二页中添加一个零添加第一页的所有项目,在第三页中添加第一页和第二页的所有项目按照模式添加。
希望能帮助你