工具栏箭头Android,工具栏上的Android后退箭头(AppCompatActivity)

我想在我的应用程序中显示后退箭头button,但是当我将此代码放入代码时,应用程序崩溃:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true);

style.xml

toolbar.xml

类(而不是片段) :

public class WebViewCanale extends AppCompatActivity { Toolbar toolbar; TextView textView; WebView webView; ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview_canali); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); //FindViewById webView = (WebView) findViewById(R.id.webview); textView = (TextView) findViewById(R.id.textView); progressBar = (ProgressBar) findViewById(R.id.progressBar); //Impostazioni WebView WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setLoadsImagesAutomatically(true); webView.loadUrl(this.getIntent().getDataString()); webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); webView.getSettings().setAppCacheEnabled(false); //Titolo Toolbar webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); if (!TextUtils.isEmpty(title)) { WebViewCanale.this.setTitle(title); } } }); } }

我想知道为什么没有这个完整的答案,但最后我自己解决了这个问题:

使用以下片段在AppCompatActivity的工具栏上有后退button :

toolbar = (Toolbar) findViewById(R.id.hack_toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //do something you want } });

你也可以在Manifest声明一个ParentActivity :

添加这个主题:

在你的活动中:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true);

@BindView(R.id.toolbar) Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_events); ButterKnife.bind(this); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onSupportNavigateUp() { onBackPressed(); return true; }

onSupportNavigateUp()只要用户select在应用程序的活动层次结构中从操作栏中向上导航,就会调用此方法。

onBackPressed(); 注意popup碎片返回堆栈或适当地完成活动。

你需要先设置支持操作栏,然后才能得到它。 所以放置下面的代码

toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar);

在此代码之前

getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值