我在一个活动中有一个操作栏微调器,它使用数据库中的数据填充。我有第二个修改数据库的活动(包括第一个活动中使用的操作栏微调器的数据)。数据库更改后如何刷新微调器?我试过了notifyDataSetChanged();
,不行。此外,当我在进行更改后重新启动应用程序时,它们会反映在微调器中,因此我可以看到修改工作,但仅在我再次运行应用程序时,而不是在进行更改时
// this is inside the onCreate()
// return a List<String> used to populate action bar spinner
listUniqueCat = mDbHelper.getUniqueCategories();
// create an array adapter to popluate dropdown list
adapter = new ArrayAdapter<String>(
getBaseContext(),
android.R.layout.simple_spinner_dropdown_item, listUniqueCat);
// enable dropdown list naaavigation in action bar
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
// defining navigation listiner
ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {
@Override
public boolean onNavigationItemSelected(int itemPosition,
long itemId) {
selectedPos = getActionBar().getSelectedNavigationIndex();
selectedSpinnerItem = listUniqueCat.get(selectedPos);
Toast.makeText(getBaseContext(),
"you selected " + selectedSpinnerItem,
Toast.LENGTH_LONG).show();
return false;
}
};
// setting dropdown items and item navigation listener for action bar
getActionBar().setListNavigationCallbacks(adapter, navigationListener);