Android Up-Taste funktioniert nicht
Ich versuche, die Aktionen, die ausgeführt werden müssen, wenn die Aufwärtsschaltfläche auf der Aktionsleiste gedrückt wird, manuell auszuführen, aber aus irgendeinem Grund passiert nichts, wenn ich darauf drücke.
hier ist mein Code:
public class ActivityOne extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity_one);
Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar_actionbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Button button = (Button)findViewById(R.id.btn1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openActivityTwo();
}
});
Button button2 = (Button)findViewById(R.id.btn2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
openActivityThree();
}
});
}
void openActivityTwo(){
Intent intent = new Intent(this, ActivityTwo.class);
startActivity(intent);
}
void openActivityThree(){
Intent intent = new Intent(this, ActivityThree.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_activity_one, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
else if(id == R.id.homeAsUp){
Log.i("","Up is pressed");
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
}
Ich verstehe, dass ich explizit eine übergeordnete Aktivität für die Aktivität zuweisen mussIch möchte die Navigation in der Manifest-Datei implementieren, aber das Problem ist, dass diese Aktivität mehrere Eltern hat, also dachte ich, ich rufe dasfinish()
-Methode, wenn die Aufwärtstaste bei dieser Aktivität gedrückt wird, ist der bessere Ansatz.
Ich habe bereits beide ausprobiertid == R.id.home
undid == R.id.homeAsUp
und beide funktionieren nicht. Ich weiß nicht, ob es daran liegt, dass ich @ benutAppCompactActivity
oder was Bitte helfen Sie