繁体   English   中英

如何从导航抽屉菜单项获取标题

[英]How to get the title from Navigation drawer menu item

我正在尝试通过从数据库获取记录并将其显示在左侧抽屉中来创建导航抽屉。

通过执行以下操作,我能够成功完成此操作,但是问题是,当在导航抽屉中单击菜单项时,我想获取其标题。 但是我只是得到它的位置。

DrawerLayout  mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

List<DataItems> myTest = myDbAdapter.getValuesFromDb(); // method in DbAdapter class 
                                                       // to get records from db.

// Pass the data to ListView adapter
MyNavigationDrawerAdapter adapter = new MyNavigationDrawerAdapter(
   this, 
   R.layout.drawer_listview_item, 
   myTest);

// Set the adapter for the list view
mDrawerList.setAdapter(adapter);

// set the item click listener
mDrawerList.setOnItemClickListener(new NavigationDrawerItemClickListener());

// navigation drawer click listener
private class NavigationDrawerItemClickListener implements ListView.OnItemClickListener 
{
   @Override
   public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
   {
      Log.i("Position", "" + position); // prints the position successfully

      Log.i("Value", "" + myTest.get(position).getTitle()); // prints null
   }
}

您能否告诉我,为什么此myTest.get(position).getTitle()为null。 我在这里想念什么?

采用

List<DataItems> myTest = new List<DataItems>(myDbAdapter.getValuesFromDb());

而不是使用

List<DataItems> myTest = myDbAdapter.getValuesFromDb();

在您的onClickListener中,尝试:

 public void onItemClick(AdapterView <?> parent, View view, int position, long id){

  DataItems dataItem = adapter.getItem(position);
  String mString = dataItem.getTitle();

 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM