导航栏点击事件 - Android应用程序

时间:2017-06-07 20:32:22

标签: java android navigationbar

我正在尝试在Android应用程序的导航栏上处理onClick事件。

确切地说,当用户点击返回按钮时,应用程序必须返回主要活动(在我的情况下“开始”)而不是之前的活动。

在我的应用程序中,我有更多的活动,这些活动都可以从每个活动中调用,所以,例如,当我在“开始”时,我点击一个按钮,然后我来到“Karte”,然后来自“Karte”我想去“Einstellungen”,然后来自“Einstellungen”我想要返回主要活动“开始”,但我不能因为当我点击导航上的返回按钮时。我只回到上一个活动(“Karte”)。

如果有人知道如何处理,请回答。

2 个答案:

答案 0 :(得分:2)

试试这个:

在你的" Einstellungen" activity,覆盖onBackPressed方法来处理导航:

@Override
public void onBackPressed() {
    Intent i = new Intent(this, Start.class);
    startActivity(i);
    finish();
}

当您从" Karte"到了Einstellungen"从"开始"到" Karte"你应该完成()你的活动,以避免导航问题。

答案 1 :(得分:2)

1。Einstellungen开始Karte后,只需完成Karte活动即可将其从stack移除:

//Karte.java 

Intent intentEinstellungen = new Intent(karte.this, Einstellungen.class);
startActivity(intentEinstellungen);

// Finish Karte
finish();

2。back/home按下导航Einstellungen图标后,只需从方法super.onBackPressed()拨打onOptionsItemSelected()即可完成Einstellungen活动。

//Einstellungen.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    switch (id) {
        case android.R.id.home:
            super.onBackPressed();
            return true;

        default:
            return super.onOptionsItemSelected(item);
    }
}

它会显示Start,因为Karte已经从stack中弹出。