-1

我将课程从 Activity 更改为 AppCompatActivity。

item.getActionView() 改为 MenuItemCompat.getActionView(item)

现在我在下面的代码中得到 NPE。

public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.messages, menu);

    MenuItem item = menu.findItem(R.id.menuTxtSize);
    Spinner spinner = (Spinner) MenuItemCompat.getActionView(item);
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
    int index = sp.getInt(getString(R.string.pr_text_size),
            Integer.parseInt(getString(R.string.pr_default_text_size)));
    spinner.setSelection(index);


E/ACRA: ACRA caught a NullPointerException for com.alex.documentation java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setSelection(int)' on a null object reference at com.alex.message.activities.MessagesActivity

如何修复错误?

4

1 回答 1

4

你必须使用app:actionViewClass,而不是android:actionViewClass使用时AppCompatActivity

于 2016-11-29T20:49:55.137 回答