回复操作栏的“向上”按钮

时间:2015-05-04 12:15:57

标签: android android-actionbar android-actionbar-compat

我正在使用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);
        }
    }

但仍然无效。

2 个答案:

答案 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'>

希望它有所帮助。