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);
}
});
}
私の Nav-Drawer は次のようになります。
// 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);
ダイアログを閉じた後にリストビュー (nav-drawer) を更新するにはどうすればよいですか。実用的な解決策が見つかりません。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();