如何解决按下手机的后退按钮时,底部导航项退出应用程序
我已经在我的应用程序中实现了底部导航并且它工作正常,但是今天我尝试在进行某些活动时按下手机的后退按钮,在这样做时,我注意到它几乎让我退出应用程序,有没有办法解决这个问题?例如,它不是将我带到应用程序的外部,而是希望它带我回家活动,是否应该使用某种方法来处理这些更改?如果是这样,请告诉我,我的底部导航代码(例如锻炼活动,因为我在 3 个不同的活动中使用底部导航)是:
public class Exercice extends AppCompatActivity {
DatabaseReference ref;
ArrayList<Deal> list;
RecyclerView recyclerView;
SearchView searchView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exercice);
ref = FirebaseDatabase.getInstance().getReference().child("medicines");
recyclerView = findViewById(R.id.rv);
searchView = findViewById(R.id.searchview);
/* RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this,2);
recyclerView.setLayoutManager(layoutManager);
*/
//initialize and assign variables
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);
//set home selected
bottomNavigationView.setSelectedItemId(R.id.exercice);
//preform itemsselectedlistener
bottomNavigationView.setonNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.exercice:
finish();
return true;
case R.id.profile:
startActivity(new Intent(getApplicationContext(),MainActivity.class));
overridePendingTransition(0,0);
finish();
return true;
case R.id.home:
startActivity(new Intent(getApplicationContext(),Home.class));
overridePendingTransition(0,0);
finish();
}
return false;
}
});
}
@Override
protected void onStart() {
super.onStart();
if(ref != null){
ref.addValueEventListener(new ValueEventListener() {
@NonNull
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if(snapshot.exists()){
list = new ArrayList<>();
for(DataSnapshot ds : snapshot.getChildren()){
list.add(ds.getValue(Deal.class));
}
AdapterClass adapterClass = new AdapterClass(list);
recyclerView.setAdapter(adapterClass);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Toast.makeText(Exercice.this,error.getMessage(),Toast.LENGTH_SHORT).show();
}
});
}
if (searchView != null){
searchView.setonQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
search(newText);
return true;
}
});
}
}
private void search(String str) {
if (!str.equals("")){
ArrayList<Deal> myList = new ArrayList<>();
for (Deal object : list){
if(object.getdisease().toLowerCase().contains(str.toLowerCase())){
myList.add(object);
}
}
AdapterClass adapterClass = new AdapterClass(myList);
recyclerView.setAdapter(adapterClass);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。