【问题标题】:Back button as Menu in fragment后退按钮作为片段中的菜单
【发布时间】:2017-01-18 21:31:30
【问题描述】:

我想在片段的操作栏左侧添加一个后退按钮作为菜单。但我不希望后退箭头作为我的图标。

actionBar.setDisplayHomeAsUpEnabled(true);

上面的代码行给出了后退箭头符号。相反,我想使用一些自定义图像。同样使用该自定义图像应该可以将其恢复到之前的活动。

【问题讨论】:

  • 你在使用工具栏吗?
  • 没有。我正在使用操作栏

标签: android android-fragments


【解决方案1】:

我添加了类似的内容:

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case android.R.id.home:
            getActivity().onBackPressed();
            return true;

        default:
            return super.onOptionsItemSelected(item);
    }

}

它对我有用。

【讨论】:

  • @SuhaylSH 我投票了。但由于声誉较低,我的投票不可见。如果您喜欢或发现我的问题合适,请支持我的问题。谢谢。
  • 你不需要任何声誉来标记答案正确:) 我赞成你的问题..
  • 附上你的问题的图标和截图
【解决方案2】:

将此添加到styles.xml 中的主题

<item name="android:homeAsUpIndicator">@drawable/my_icon</item>

它将覆盖默认图标。默认情况下,它使用以下 id:

android.R.id.home

您可以使用此 ID 导航回您之前的活动:

View homeView = getActionBar().getCustomView().findViewById(android.R.id.home);
        homeView.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v)
            {
                //Go back
            }
        });

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    // Respond to the action bar's Up/Home button
    case android.R.id.home:
        //Return back to your activity!
        return true;
    }
    return super.onOptionsItemSelected(item);
}

欲了解更多信息,请查看官方文档:https://developer.android.com/training/implementing-navigation/ancestral.html

【讨论】:

  • 谢谢。有效。 :) 但是如何使用此按钮返回上一个活动。
  • 如果你设置了 actionBar.setDisplayHomeAsUpEnabled(true),点击它会带你回到父活动。
  • 这部分你没有在你的问题中提到!
  • 无论如何,Android 使用 android.R.id.home 作为这个按钮的 id。使用此 ID 并创建一个 OnClick 侦听器以导航到您的其他活动!
  • @Rider 请相对于所提出的问题将答案标记为正确。谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多