我正在使用android-support-v7-appcompat
库。
在我的片段中,我有一个带有不同控件的自定义操作栏。点击按钮,我将抽屉汉堡包图标更改为后退按钮。
代码:
((MyActivity)getActivity()).mDrawerToggle.setDrawerIndicatorEnabled(false);
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
现在我在屏幕上显示了一个后退按钮。当我点击后退按钮时没有任何反应。
我在我的片段中试过这个:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
Log.i("Back Button ", "back button clicked ");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
但仍然无效。
答案 0 :(得分:0)
请使用以下代码捕获后退按钮事件。
还添加以下两行:
为操作栏添加一个自定义布局,其中包含后退按钮和标题 将在那里。您可以覆盖自定义布局中的后退按钮单击事件。
您可以将自定义视图设置为操作栏,如下所示:
mActionBar.setCustomView(mCustomView);
mActionBar.setDisplayShowHomeEnabled(假);
mActionBar.setDisplayShowCustomEnabled(真);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(getApplicationContext(),"Back button clicked", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:0)
尝试此操作...在android:parentActivityName
中,找到与您的片段相关的活动,添加属性actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
并设置父活动。然后,删除行
<input name='surname' id="surname" value='surname'>
<input name='lastname' id="lastname" value='lastname'>
希望它有所帮助。