我尝试使用选项菜单打开首选项屏幕 . 选项菜单的drawable在右角可见,但是当我点击它时,应用程序崩溃了 .

谁能告诉我为什么?

public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();
    if (id == R.id.item1) {

        Intent i = new Intent(this, SettingsActivity.class);
        startActivity(i);
        Log.d("onOptionsItemSelected","yes");

        return true;

    }
    Log.d("onOptionsItemSelected","no");

    return super.onOptionsItemSelected(item);
}

public class SettingsActivity extends AppCompatActivity {


@SuppressLint("ResourceType")
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.xml.preferences);
}
public void showDatePicker(View v) {
    DialogFragment newFragment = new DatePickerFragment();
    newFragment.show(getFragmentManager(), "date picker");
}


}

public class DatePickerFragment extends DialogFragment {

public Dialog onCreateDialog(Bundle savedInstanceState) {
    setHasOptionsMenu(true);

    final Calendar c = Calendar.getInstance();
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH);
    int day = c.get(Calendar.DAY_OF_MONTH);

    return new DatePickerDialog(getActivity(), dateSetListener, year, month, day);
}

private DatePickerDialog.OnDateSetListener dateSetListener =
        new DatePickerDialog.OnDateSetListener() {
            public void onDateSet(DatePicker view, int year, int month, int day) {
                Toast.makeText(getActivity(), "selected date is " + view.getYear() +
                        " / " + (view.getMonth() + 1) +
                        " / " + view.getDayOfMonth(), Toast.LENGTH_SHORT).show();
            }
        };


}

E / AndroidRuntime:FATAL EXCEPTION:main进程:com.example.m.myfirstapp,PID:4649 java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.myfirstapp / com.example.m.myfirstapp.SettingsActivity}: android.view.InflateException:二进制XML文件行#0:二进制XML文件行#0:在android.app.ActivityThread.handleLaunchActivity(ActivityThread)的android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)中输出类PreferenceScreen时出错 .  java:2726)在Android.app.Handler.dispatchMessage(Handler.java:102)的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1477)的android.app.ActivityThread.-wrap12(ActivityThread.java)在android.os.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6119),位于com.android.internal的java.lang.reflect.Method.invoke(Native Method) .os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)引起:android .view.InflateException:二进制XML文件行#0:二进制XML文件行#0:错误膨胀类PreferenceScreen引起:android.view.InflateException:二进制XML文件行#0:错误膨胀类PreferenceScreen引起:java.lang .  ClassNotFoundException:在路径上没有找到类“android.view.PreferenceScreen”:DexPathList [[zip文件“/data/app/com.example.myfirstapp-1/base.apk”,zip文件“/ data / app / com .example.m.myfirstapp-1 / split_lib_dependencies_apk.apk“,zip文件”/data/app/com.example.m.myfirstapp-1/split_lib_slice_0_apk.apk“,zip文件”/data/app/com.example.m .myfirstapp-1 / split_lib_slice_1_apk.apk“,zip文件”/data/app/com.example.m.myfirstapp-1/split_lib_slice_2_apk.apk“,zip文件”/data/app/com.example.m.myfirstapp-1 /split_lib_slice_3_apk.apk“,zip文件”/data/app/com.example.m.myfirstapp-1/split_lib_slice_4_apk.apk“,zip文件”/data/app/com.example.m.myfirstapp-1/split_lib_slice_5_apk.apk “,zip文件”/data/app/com.example.m.myfirstapp-1/split_lib_slice_6_apk.apk“,zip文件“/data/app/com.example.m.myfirstapp-1/split_lib_slice_7_apk.apk”,zip文件“/data/app/com.example.m.myfirstapp-1/split_lib_slice_8_apk.apk”,zip文件“/ data /app/com.example.m.myfirstapp-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.example.m.myfirstapp-1/lib/x86,/ system / lib,/ vendor / lib ]]