Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数据库更改后刷新操作栏微调器_Java_Android_Database_Android Actionbar_Android Spinner - Fatal编程技术网

Java 数据库更改后刷新操作栏微调器

Java 数据库更改后刷新操作栏微调器,java,android,database,android-actionbar,android-spinner,Java,Android,Database,Android Actionbar,Android Spinner,我在一个活动中有一个动作栏微调器,它使用数据库中的数据填充。我有第二个活动修改数据库,包括第一个活动中使用的操作栏微调器的数据。数据库更改后如何刷新微调器?我试着去改变;,不起作用。此外,当我在完成更改后重新启动应用程序时,它们会反映在微调器中,以便我可以看到修改的效果,但只有在我再次运行应用程序时,才可以看到修改的效果,而不是在进行更改时 // this is inside the onCreate() // return a List<String> used to p

我在一个活动中有一个动作栏微调器,它使用数据库中的数据填充。我有第二个活动修改数据库,包括第一个活动中使用的操作栏微调器的数据。数据库更改后如何刷新微调器?我试着去改变;,不起作用。此外,当我在完成更改后重新启动应用程序时,它们会反映在微调器中,以便我可以看到修改的效果,但只有在我再次运行应用程序时,才可以看到修改的效果,而不是在进行更改时

// 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);

你在哪里打电话给notifyDataSetChanged

若您在第二个活动中更改数据库,当您通过按第一个活动的“恢复”上的“后退”按钮转到第一个活动时,将调用第一个活动的“恢复”

我想你应该打电话

              listUniqueCat = mDbHelper.getUniqueCategories();   
              notifyDataSetChanged()

在您的第一个活动的onResume中,我使用onActivityResult返回到第一个活动,因为我使用StartActivityForResult启动第二个活动,然后在OnActivityResults中添加以上两行,您的活动是否还有一个适配器?如果还有一个适配器,请尝试SpinGeneraAdapter.notifyDataSetChanged。是否尝试SpinGeneraAdapter.notifyDataSetChanged?如果是,请检查您的列表Uniquecat是否正在onActivityResult中更新