我设法使Nav-Drawer和Fragments正常工作.我面临的问题是,我希望用户向Nav-Drawer中添加新的列表项,而我正在使用Dialog来做到这一点:
public voID createalert() { //ALERT AlertDialog.Builder alert = new AlertDialog.Builder(this); alert.setTitle("Neue Liste erstellen"); //alert.setMessage("Message"); // Set an EditText vIEw to get user input final EditText input = new EditText(this); alert.setVIEw(input); alert.setPositivebutton("Ok", new DialogInterface.OnClickListener() { public voID onClick(DialogInterface dialog, int whichbutton) { String value = input.getText().toString(); // Do something with value! dbHelper.createNewListItem(value, null); } });}
我的导航抽屉如下所示:
// Erstellt den neuen MenuAdapter aus der Klasse Menulistadapter Menulistadapter mMenuAdapter = new Menulistadapter(this, drawerTitles, drawerSubTitles, drawerIcons); VIEw footer = (VIEw)getLayoutInflater().inflate(R.layout.drawer_List_header, null); mDrawerList.addFooterVIEw(footer); mDrawerList.setAdapter(mMenuAdapter);
关闭对话框后,如何@R_649_6419@视图(导航抽屉).我找不到任何有效的解决方案.未定义notifyDataSetChanged,并且这些都不起作用:
mDrawerList.refreshDrawableState();mDrawerList.invalIDate();
有人知道解决方案吗?
更新:
这是我的重装方法:
for(int i = 0; i < cursor.getCount(); i++){ String Listname = cursor.getString(cursor.getColumnIndex("Listname")); String ListsubTitle = cursor.getString(cursor.getColumnIndex("subTitle")); allListnames[i] = Listname; allListSubTitle[i] = ListsubTitle; cursor.movetoNext(); } drawerTitles = allListnames; drawerSubTitles = allListSubTitle; mMenuAdapter = new Menulistadapter(this, drawerTitles, drawerSubTitles, drawerIcons); mDrawerList.setAdapter(mMenuAdapter); mMenuAdapter.notifyDataSetChanged();
解决方法:
重写onPrepareOptionsMenu方法并在其中设置适配器.之后,在列表视图上调用invalIDateVIEws().
总结以上是内存溢出为你收集整理的导航抽屉刷新/重新加载全部内容,希望文章能够帮你解决导航抽屉刷新/重新加载所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)