【发布时间】:2017-02-23 12:59:50
【问题描述】:
您好,我在应用程序抽屉中创建了片段,现在当我按下片段上的后退按钮时,它正在关闭应用程序。
Main activity的webView中已经存在一个onKeyDown了。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
if (myWebView.canGoBack()) {
myWebView.goBack();
} else {
finish();
}
return true;
}
}
return super.onKeyDown(keyCode, event);
对于 onBackPressed 方法
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
片段实现方法,
if (fragment != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_main, fragment);
ft.addToBackStack("close");
ft.commit();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
【问题讨论】:
-
向我们展示您的片段实现。
-
当您单击抽屉项目时,您能说出您添加
fragments的准确程度吗? -
if (fragment != null) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.content_main,片段); ft.commit(); } DrawerLayout 抽屉 = (DrawerLayout) findViewById(R.id.drawer_layout);抽屉.closeDrawer(GravityCompat.START);
标签: android android-layout android-fragments