我有一个ListView
,当用户点击一个项目时,ViewPager
应该以相同的标题打开。如果单击了项目1,则会ViewPager
相同的标题应该打开,就像在图像中(在左侧)。此外,页面应该可以滑动,但它们必须与图像中的ListView
相同(在右侧)。怎么可能这样做?我已经实现了OnItemClick
方法,但我现在该怎么办?
listview
到viewpager
屏幕外观
ListviewActiviy.java
public void onItemClick(AdapterView<?> arg0, View arg1, int position
,long id) {
mCursor.moveToPosition(position);
String rtitle = unescape(mCursor.getString(mCursor.getColumnIndex("rtitle")));
Intent i = new Intent(ListviewActiviy.this, ViewpagerActivity.class);
i.putExtra("rtitle", rtitle);
i.putExtra("POS", position);
startActivity(i);
}
ViewpagerActivity.java
public Object instantiateItem(View collection, int position) {
final View view = getLayoutInflater().inflate(R.layout.backgroundd, null);
position = getIntent().getExtras().getInt("POS");
mCursor.moveToPosition(position);
((ViewPager)collection).addView(view, ((ViewPager)collection).getChildCount() > position ? position : ((ViewPager)collection).getChildCount());
final TextView tv=(TextView)view.findViewById(R.id.rhymeviewpagertext);
title = getIntent().getStringExtra("rtitle");
tv.setText(rtitle);
}
答案 0 :(得分:2)
按照以下步骤
第1步
使用ViewPager
1>等ViewPagerActivty
创建新活动
第2步
将ItemClickListener
设置为ListView
并使用Intent将点击的项目位置传递给ViewPagerActivty.this
ListView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
{
Intent intent= new Intent(this,ViewPagerActivty.this);
intent.putExtra("POS",position);
startActivity(intent);
Toast.makeText(YourActivity.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
第3步
点击listview
中的ViewPagerActivty
点击项目位置
int position=getIntent().getIntExtra("POS",1);
现在根据该位置在ViewPager
中显示数据