![](/img/trans.png)
[英]Trying to initiate a Maps Activity after clicking a item in a Navigation Drawer
[英]Return to the activity main by clicking in a item of the navigation drawer
我正在使用一個具有3個片段和activity_main的android應用程序,它們都在導航抽屜中列出。 問題是如何通過單擊導航抽屜中的某個項目來返回活動主界面。
我需要的基本思想是關閉所有打開的片段以返回到活動主體
這是我的代碼。
if(id==R.id.taximetro){
//this is my activity_main that i need to return
trans = true;
} else if (id == R.id.factura) {
fragment=new frmFactura();
getSupportFragmentManager().beginTransaction().replace(R.id.content_main, fragment).addToBackStack(null).commit();
trans = true;
} else if (id == R.id.dispBlue) {
fragment=new frmDispositivos();
getSupportFragmentManager().beginTransaction().replace(R.id.content_main, fragment).addToBackStack(null).commit();
trans = true;
} else if (id == R.id.ayuda) {
fragment=new frmAyuda();
getSupportFragmentManager().beginTransaction().replace(R.id.content_main, fragment).addToBackStack(null).commit();
trans = true;
}
if (trans) {
getSupportFragmentManager().beginTransaction().replace(R.id.content_main, fragment).commit();
item.setCheckable(true);
getSupportActionBar().setTitle(item.getTitle());
}
//getSupportFragmentManager().beginTransaction().replace(R.id.content_main, fragment).addToBackStack(null).commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
就像調用片段一樣簡單..調用您的MainActivity
如果您想查看視圖中可用的內容,
保持ENUM值或其他相關方式..並更改與您加載的視圖相關的值,並檢查是否已加載片段,或者在MainActivity
使用MainActivity調用中的ENUM值在MainActivity中仍然存在主視圖
所以,
如果加載了片段視圖,請回想您的MainActivity
否則只需滑動導航,因為您已經在MainActivity視圖中,而沒有加載任何片段
if(id==R.id.taximetro){
// call your activity again if you want you can check that a fragment view is loaded or not and do changes only when you need if there is a fragment view loaded.. or simply recall it
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.