android viewpager与listview,如何实现每个listview的侦听器?
对不起,我的英语水平很低。 我有一个活动,它由一个viewpager、4 ListView和ListView组成。 我如何实现一个侦听器来知道用户触摸了哪个项目? 我整天在网上搜索都没有成功 代码片段:android viewpager与listview,如何实现每个listview的侦听器?,android,listview,android-viewpager,onitemclick,Android,Listview,Android Viewpager,Onitemclick,对不起,我的英语水平很低。 我有一个活动,它由一个viewpager、4 ListView和ListView组成。 我如何实现一个侦听器来知道用户触摸了哪个项目? 我整天在网上搜索都没有成功 代码片段: public class Local_mostrar_menuActivity extends ActionBarActivity { private ViewPager viewPager; private ListView page1; private ListView page2; pr
public class Local_mostrar_menuActivity extends ActionBarActivity {
private ViewPager viewPager;
private ListView page1;
private ListView page2;
private ListView page3;
private ListView page4;
ArrayList<ItemListView> itemsListVMenuBEBIDAS = obtenerItemsMenuBEBIDAS();
ItemListViewAdapter adapterlistvMenuBEBIDAS = new ItemListViewAdapter(this,
itemsListVMenuBEBIDAS);
ArrayList<ItemListView> itemsListVMenuPRIMEROS = obtenerItemsMenuPRIMEROS();
ItemListViewAdapter adapterlistvMenuPRIMEROS = new ItemListViewAdapter(this, itemsListVMenuPRIMEROS);
ArrayList<ItemListView> itemsListVMenuSEGUNDOS = obtenerItemsMenuSEGUNDOS();
ItemListViewAdapter adapterlistvMenuSEGUNDOS = new ItemListViewAdapter(this, itemsListVMenuSEGUNDOS);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_local_mostrar_menu);
公共类本地\u mostrar\u菜单活动扩展了ActionBarActivity{
私人视页机视页机;
私有列表视图第1页;
私有列表视图第2页;
私有列表视图第3页;
私有列表视图第4页;
ArrayList itemsListVMenuBEBIDAS=obtenerItemsMinubebidas();
ItemListViewAdapter适配器ListVMEnubeBidas=新的ItemListViewAdapter(此,
项目SListVmenubebidas);
ArrayList itemsListVMenuPRIMEROS=obtenerItemsMinuPrimeros();
ItemListViewAdapter Adapter ListVMEnuPrimeros=新的ItemListViewAdapter(此,itemsListVMenuPRIMEROS);
ArrayList itemsListVMenuSEGUNDOS=obtenerItemsMinusegundos();
ItemListViewAdapter AdapterListVMEnuseUndos=新的ItemListViewAdapter(这是ItemsListVMEnuseUndos);
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u local\u mostrar\u菜单);
继续:
//viewpagerindicator viewpager
viewPager=(viewPager)findViewById(R.id.pager);
setAdapter(新的MainPageAdapter())
TitlePageIndicator titleIndicator=(TitlePageIndicator)findViewById(R.id.indicator);
//TabPageIndicator titleIndicator=(TabPageIndicator)findViewById(R.id.indicator);
titleIndicator.setViewPager(viewPager);
titleIndicator.setOnPageChangeListener(新的OnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置)
{
}
@凌驾
已滚动页面上的公共无效(int-position、float-positionOffset、int-positionOffsetPixels)
{
}
@凌驾
公共无效onPageScrollStateChanged(int状态)
{
}
});
}
//操作栏
@凌驾
公共布尔onCreateOptions菜单(菜单){
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
@凌驾
公共布尔值OnPrepareOptions菜单(菜单){
@凌驾
后期创建时受保护的空(捆绑包savedInstanceState){
@凌驾
公共无效OnConfiguration已更改(配置newConfig){
//寻呼机
类MainPageAdapter扩展了PagerAdapter
{
@凌驾
公共字符序列getPageTitle(int位置)
{
字符串标题=null;
开关(位置)
{
案例0:
title=“Bebida”;
打破
案例1:
title=“Primeros”;
打破
案例2:
title=“Segundos”;
打破
违约:
title=“Postre o café”;
打破
}
返回标题;
}
@凌驾
public int getCount()
{
返回4;
}
@凌驾
公共对象实例化项(视图组集合,最终int位置)
{
查看页面=空;
开关(位置)
{
案例0:
如果(第1页==null)
{
page1=(ListView)LayoutFlater.from(Local\u mostrar\u menuActivity.this)。充气(R.layout.page\u one\u viewpager\u ListView,null);
第1页setAdapter(adapterlistvMenuBEBIDAS);
}
第页=第1页;
打破
案例1:
如果(第2页==null)
{
page2=(ListView)LayoutFlater.from(Local\u mostrar\u menuActivity.this)。充气(R.layout.page\u two\u viewpager\u ListView,null);
第2页设置适配器(适配器ListVmenuPrimeros);
}
第页=第2页;
打破
案例2:
如果(第3页==null)
{
page3=(ListView)LayoutFlater.from(Local\u mostrar\u menuActivity.this)。充气(R.layout.page\u three\u viewpager\u ListView,null);
第3页设置适配器(适配器ListVmenuseUndos);
}
第页=第3页;
打破
违约:
如果(第4页==null)
{
page4=(ListView)LayoutFlater.from(Local\u mostrar\u menuActivity.this)。充气(R.layout.page\u four\u viewpager\u ListView,null);
}
第页=第4页;
打破
}
((ViewPager)集合).addView(第0页);
返回页面;
}
@凌驾
公共布尔值isViewFromObject(视图,对象)
{
返回视图==对象;
}
@凌驾
公共项(视图集合、int位置、对象视图)
{
((ViewPager)集合)。移除视图((视图)视图);
}
}
private ArrayList obtenerItemsMenuBEBIDAS(){
ArrayList itemsMenuBEBIDAS=新的ArrayList();
添加(新项目列表视图(1,“Cerveza DAMM Inedit”、“La Cerveza creada en El Bulli”、“drawable/DAMM_Inedit”);
添加(新的ItemListView(1,“Tercio de cerveza DAMM”、“330ml”、“可提取/DAMM”);
返回项目mubebidas;
}
私有数组列表obtenerItemsMenuPRIMEROS(){
ArrayList itemsMenuPRIMEROS=新的ArrayList();
添加(新项目列表视图(1,“Ensalada cesar”、“Lechuga、panecillos tostados、Incremible salsa cesar、tomate”、“drawable/ensaladacesar01”);
添加(新的项目列表视图(2,“Ensalada del cheff”、“Ensalada con una salsa secreta”、“drawable/ensaladadelchef01”);
归还物品(包括物品);
}
//Añadiendo elementos al
private ArrayList obteneritemsmenusegudos(){
ArrayList itemsMenuSEGUNDOS=新建ArrayList();
添加(新的项目列表视图(1,“主题公园”、“国际泳联主题公园”、“可绘制/布拉瓦什01”);
添加(新的项目列表视图(2,“Ternequeso”、“mozzarella fundida和una salsa Special de tomate”、“drawable/calama
TitlePageIndicator titleIndicator = (TitlePageIndicator)findViewById(R.id.indicator);
//TabPageIndicator titleIndicator = (TabPageIndicator)findViewById(R.id.indicator);
titleIndicator.setViewPager(viewPager);
titleIndicator.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position)
{
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
{
}
@Override
public void onPageScrollStateChanged(int state)
{
}
});
}
//ActionBar
@Override
public boolean onCreateOptionsMenu(Menu menu) {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
@Override
protected void onPostCreate(Bundle savedInstanceState) {
@Override
public void onConfigurationChanged(Configuration newConfig) {
//Viewpager
class MainPageAdapter extends PagerAdapter
{
@Override
public CharSequence getPageTitle(int position)
{
String title = null;
switch (position)
{
case 0:
title = "Bebida";
break;
case 1:
title = "Primeros";
break;
case 2:
title = "Segundos";
break;
default:
title = "Postre o café";
break;
}
return title;
}
@Override
public int getCount()
{
return 4;
}
@Override
public Object instantiateItem(ViewGroup collection, final int position)
{
View page = null;
switch (position)
{
case 0:
if (page1 == null)
{
page1 = (ListView) LayoutInflater.from(Local_mostrar_menuActivity.this).inflate(R.layout.page_one_viewpager_listview, null);
page1.setAdapter(adapterlistvMenuBEBIDAS);
}
page = page1;
break;
case 1:
if (page2 == null)
{
page2 = (ListView) LayoutInflater.from(Local_mostrar_menuActivity.this).inflate(R.layout.page_two_viewpager_listview, null);
page2.setAdapter(adapterlistvMenuPRIMEROS);
}
page = page2;
break;
case 2:
if (page3 == null)
{
page3 = (ListView) LayoutInflater.from(Local_mostrar_menuActivity.this).inflate(R.layout.page_three_viewpager_listview, null);
page3.setAdapter(adapterlistvMenuSEGUNDOS);
}
page = page3;
break;
default:
if (page4 == null)
{
page4 = (ListView) LayoutInflater.from(Local_mostrar_menuActivity.this).inflate(R.layout.page_four_viewpager_listview, null);
}
page = page4;
break;
}
((ViewPager) collection).addView(page, 0);
return page;
}
@Override
public boolean isViewFromObject(View view, Object object)
{
return view == object;
}
@Override
public void destroyItem(View collection, int position, Object view)
{
((ViewPager) collection).removeView((View) view);
}
}
private ArrayList<ItemListView> obtenerItemsMenuBEBIDAS() {
ArrayList<ItemListView> itemsMenuBEBIDAS = new ArrayList<ItemListView>();
itemsMenuBEBIDAS.add(new ItemListView(1, "Cerveza DAMM Inedit", "La cerveza creada en El Bulli", "drawable/damm_inedit"));
itemsMenuBEBIDAS.add(new ItemListView(1, "Tercio de cerveza DAMM", "330ml", "drawable/damm"));
return itemsMenuBEBIDAS;
}
private ArrayList<ItemListView> obtenerItemsMenuPRIMEROS() {
ArrayList<ItemListView> itemsMenuPRIMEROS = new ArrayList<ItemListView>();
itemsMenuPRIMEROS.add(new ItemListView(1, "Ensalada cesar", "Lechuga, panecillos tostados,increible salsa cesar, tomate", "drawable/ensaladacesar01"));
itemsMenuPRIMEROS.add(new ItemListView(2, "Ensalada del cheff", "Ensalada con una salsa secreta","drawable/ensaladadelchef01" ));
return itemsMenuPRIMEROS;
}
// Añadiendo elementos al
private ArrayList<ItemListView> obtenerItemsMenuSEGUNDOS() {
ArrayList<ItemListView> itemsMenuSEGUNDOS = new ArrayList<ItemListView>();
itemsMenuSEGUNDOS.add(new ItemListView(1, "Patatas con chorizo", "Finas patatas con chorizo manchego", "drawable/bravas01"));
itemsMenuSEGUNDOS.add(new ItemListView(2, "Ternequeso", "Filete de ternera con mozzarella fundida y una salsa especial de tomate","drawable/calamares01" ));
return itemsMenuSEGUNDOS;
}
page1.setOnItemClickListener(new OnItemClickListener(){
do something
});