Не нашел класс "android .view.menu" - PullRequest
1 голос
/ 17 февраля 2020

У меня возникает следующая проблема:

Причина: android .view.InflateException: двоичный файл XML строка файла № 13: двоичный файл XML строка файла № 2: ошибка надувания меню класса Вызвано: android .view.InflateException: двоичная XML строка файла # 2: Ошибка надувания меню класса. Вызвано: java .lang.ClassNotFoundException: Не удалось найти класс "android .view.menu" в путь: DexPathList [[zip-файл »/data/app/com.cpsc4150.glovebox-xjT3LiC43G5FDyD3dDmxuw==/base.apk"],nativeLibraryDirectories=[/data/app/com.cpsc4150.gloveboxix86xxx3D5x3) , / system / lib]]

Я попытался очистить сборку, удалить файлы сборки и заставить android studio переделать их и т. д. Нет е, которые, кажется, работают.

Мой файл меню находится в res / menu / menu. xml и является единственным расположенным там.

MainActivity

@Override
    public boolean onCreateOptionsMenu(Menu menu){
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }


    /**
     * <p>Defines the actions to be taken when the menu activity is created</p>
     * @param savedInstanceState a saved instance of the menu activity id one exist
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        int REQUEST_ALL = 1;
        String[] PERMISSIONS = {
                android.Manifest.permission.WAKE_LOCK,
                android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
                android.Manifest.permission.ACCESS_FINE_LOCATION,
                android.Manifest.permission.ACCESS_COARSE_LOCATION,
                android.Manifest.permission.CAMERA
        };

        if (hasPermissions(this, PERMISSIONS) == false) {
            ActivityCompat.requestPermissions(this, PERMISSIONS, REQUEST_ALL);
        }

        serviceList = loadServices(SERVICE_LIST_ID);
        if (serviceList == null) serviceList = new ArrayList<>();
        inProgressList = loadServices(IN_PROGRESS_LIST_ID);
        if (inProgressList == null) inProgressList = new ArrayList<>();

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = findViewById(R.id.my_toolbar);
        setSupportActionBar(toolbar);
        ActionBar actionBar = getSupportActionBar();

        TabLayout tabs = findViewById(R.id.tabs);
        tabs.setOnTabSelectedListener(tabListener);

меню. xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/my_toolbar"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity"
    android:layout_height="?attr/actionBarSize"
    xmlns:appcompat="http://schemas.android.com/apk/res-auto">
<!--        <item android:id="@+id/privacyPolicy"-->
<!--            android:title="Privacy Policy"-->
<!--            android:icon="@drawable/ic_more_vert_black_24dp"-->
<!--            app:showAsAction="always"></item>-->

</menu>

Activity_main. xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:backgroundTint="@color/appBackground"
    android:background="@color/appBackground"


    >
<include
    layout="@menu/menu"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"/>

1 Ответ

0 голосов
/ 17 февраля 2020

Удалить:

<include
    layout="@menu/menu"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"/>

<include> только для включения ресурсов макета, а не ресурсов меню.

...