Я использую навигационный ящик в своем приложении и одну и ту же панель инструментов для всех действий.
На домашней странице я открываю намерение и снова иду в класс FirstActivity.java, а в FirstActivity.java открываю намерение и перехожу ко второму действию.
Homepage-> FirstActivity.java-> SecondActivity.java
Проблема в том, что когда я пытаюсь нажать на меню панели инструментов, которое открывает новое действие CartActivity.java из моего второго действия , и когда я нажимаю кнопку возврата CartActivity.java вместо возврата к второй активности возвращается к первой активности .
То же самое происходит, когда я открываю CartActivity.java из моего первого действия и когда я нажимаю кнопку возврата CartActivity.java вместо возврата назад на первое занятие возвращается на домашнюю страницу.
я думаю, что так как я включаю панель инструментов в свой макет, как это
в каждом действии, и поскольку пункты меню находятся на каждой панели инструментов, он возвращается к своему
предыдущая панель инструментов
или кто-нибудь знает какой-либо подход к отображению одной и той же панели инструментов во всех
активность, как в Myntra App, та же панель инструментов присутствует в каждом
активность, и когда мы нажимаем на опцию корзины, она открывает новую активность
и при закрытии корзины активность возвращается к предыдущему
активность.
OptionsMenuActivity.java
public class OptionsMenuActivity extends AppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_cart) {
Intent intent = new Intent(getApplicationContext(), CartActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
}
CartActivity.java
public class CartActivity extends AppCompatActivity {
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
toolbar=findViewById(R.id.toolbarcustom);
setSupportActionBar(toolbar);
toolbar.setTitle("cart");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
onBackPressed();
return super.onOptionsItemSelected(item);
}
}
MainActivity.java
public class MainActivity extends OptionsMenuActivity
implements NavigationView.OnNavigationItemSelectedListener {
TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
txt=findViewById(R.id.txt);
txt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(getApplicationContext(), FirstActivity.class);
startActivity(intent);
}
});
FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_home) {
// Handle the camera action
} else if (id == R.id.nav_gallery) {
} else if (id == R.id.nav_slideshow) {
}
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
}
FirstActivity.java
public class FirstActivity extends OptionsMenuActivity {
Toolbar toolbar;
TextView txtfirst;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
toolbar=findViewById(R.id.toolbarcustom);
setSupportActionBar(toolbar);
toolbar.setTitle("first");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
txtfirst=findViewById(R.id.txtfirst);
txtfirst.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(getApplicationContext(), SecondActivity.class);
startActivity(intent);
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
onBackPressed();
return super.onOptionsItemSelected(item);
}
}