【问题标题】:two ListView not working on NavigationDrawer两个 ListView 在 NavigationDrawer 上不起作用
【发布时间】:2014-06-05 02:56:42
【问题描述】:

我的NavigationDrawer 中有两个ListView,它们都显示在我的NavigationDrawer 上,但是我遇到了一个问题,当用户想要从一个ListView 中单击一个项目时,它不起作用,这就是我从ListView 调用setOnItemClickListener 的方式:

  list_terbaru=(ListView)findViewById(R.id.list_terbaru);
    list_terkirim=(ListView)findViewById(R.id.list_terkirim);
    list_terbaru.setOnItemClickListener(new SlideMenuClickListener());
    list_terkirim.setOnItemClickListener(new SlideMenuClickListener());

 private class SlideMenuClickListener implements ListView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> arg0,  View v, int position, long arg3) {
    switch (v.getId()) {
    case R.id.list_terbaru:
        id=((TextView)v.findViewById(R.id.nomor_registrasi)).getText().toString();
        a=id;
         ModelHelper.onModel(me);
         getFragmentManager().beginTransaction().replace(R.id.frame_container,new PemegangPolis()).commit();
         selectItem(position);
        break;
        case R.id.list_terkirim:
id=((TextView)v.findViewById(R.id.no_polis)).getText().toString();
        a="";
        ModelHelper.onModel(me);
             getFragmentManager().beginTransaction().replace(R.id.frame_container,new PemegangPolis()).commit();
         selectItembaru(position);

    }
} 
}

 private void selectItem(int position) {
     ModelHelper.onModel(me);
     ModelHelper.onRetrieve(helper,id,me,position,model,SelectPemegang,SelectTertanggung,SelectUA,SelectDi,SelectDA,SelectDP);
     getFragmentManager().beginTransaction().replace(R.id.frame_container,new PemegangPolis()).commit();
//      helper.close();selectItem
        mDrawerLayout.closeDrawer(SlidingMenu);
 } 
 private void selectItembaru(int position) {
     ModelHelper.onModel(me);
     ModelHelper.onRetrieve(helper,id,me,position,model2,SelectPemegang,SelectTertanggung,SelectUA,SelectDi,SelectDA,SelectDP);
     getFragmentManager().beginTransaction().replace(R.id.frame_container,new PemegangPolis()).commit();
//      helper.close();selectItem
        mDrawerLayout.closeDrawer(SlidingMenu);
 }   

所以我的问题是,是否可以使用switch (v.getId()) 调用“onItemClick”?如果可能的话,任何人都可以帮我指出哪里有问题吗?以及如何解决我的问题?谢谢。

【问题讨论】:

    标签: java android listview navigation-drawer


    【解决方案1】:

    R.id.list_terbaruR.id.list_terkirimListViews 的ID。但是v 不是ListView,而是项目的View。改为打开 AdapterView 的 id(在这种情况下是您的 ListViews 之一):

    switch (arg0.getId()) {
    

    如果代码中没有其他错误(找不到),这应该可以解决问题。

    但是您是否考虑过为列表创建不同的侦听器?这样你就不必切换了。

    【讨论】:

    • 使用此代码switch (arg0.getId()),谢谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多