Android Приложение Studio вылетает при нажатии на MenuIcons - PullRequest
0 голосов
/ 21 июня 2020

Мой App вылетает, когда я нажимаю Button. Я использую Java с AndroidX.

Код для кнопки:

    <item android:id="@+id/addreminder"
    android:icon="@drawable/icon_addreminder"
    android:title="@string/label_addreminder"
    app:showAsAction="ifRoom" />

Код для панели инструментов в MainActivity:

    @Override
public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menuicons, menu);

    return true;
}

@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {

    switch (item.getItemId()) {
        case R.id.addreminder:
            Toast.makeText(this, "Add Reminder Option selected", Toast.LENGTH_SHORT).show();
            Intent openAddReminderButton = new Intent(this, AddReminder.class);
            startActivity(openAddReminderButton);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
 }

Код для Действие, которое должно открыться:

    package com.vrobinde.reminder;

        import androidx.appcompat.app.AppCompatActivity;
        import androidx.appcompat.widget.Toolbar;

        import android.os.Bundle;

public class AddReminder extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_reminder);

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        Toolbar toolbar = findViewById(R.id.toolbarmainmenu);
        setSupportActionBar(toolbar);
    }

Плохое форматирование, в Android Studio все выглядит нормально.

Stacktrace: https://hastebin.com/wucojuhalo.coffeescript

1 Ответ

0 голосов
/ 21 июня 2020

Проблема в том, что вы звоните на getSupportActionBar().setDisplayHomeAsUpEnabled(true); раньше setSupportActionBar(toolbar);. Поэтому измените свой код AddReminder на:

@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add_reminder);

    Toolbar toolbar = findViewById(R.id.toolbarmainmenu);
    setSupportActionBar(toolbar);

    // only after setting toolbar as support action bar.
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

Если это все еще не решает вашу проблему, обновите вопрос с помощью трассировки стека.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...