两个ListView无法使用导航抽屉

时间:2014-06-05 02:56:42

标签: java android listview navigation-drawer

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

  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'?如果有可能,任何人都可以帮我展示哪里有错?以及如何解决我的问题?谢谢。

1 个答案:

答案 0 :(得分:2)

R.id.list_terbaruR.id.list_terkirimListView的ID。但v不是ListView,而是项目的View。改为启用AdapterView的ID(在这种情况下,这是ListView之一):

switch (arg0.getId()) {

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

但您考虑过为列表创建不同的侦听器吗?这样你根本不需要切换。