AppCompatActivity中的getSupportActionBar()无法应用于androidx.appcompat.widget.Toolbar

时间:2019-08-20 05:53:24

标签: java android android-appcompat androidx

开发工具栏时出现错误,因为我是在互联网上搜索解决方案的,而dint可以使用任何解决方案,因为我是Android开发的新手。

我尝试将androidx.appcompat.widget.Toolbar更改为android.support.v7.widget.toolbar,但由于无法解析v7,我收到了错误消息

主要活动

   package com.nanb.chaton;
   import androidx.appcompat.app.AppCompatActivity;
   import androidx.appcompat.widget.Toolbar;

   import android.os.Build;
   import android.os.Bundle;

   public class MainActivity extends AppCompatActivity {
     private Toolbar main_toolbar;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       Toolbar main_toolbar = findViewById(R.id.toolbar);
       getSupportActionBar(main_toolbar);
       getSupportActionBar().setTitle("ChatOn");
     }
   }

getSupportActionBar出现错误,提示它cannot be applied with AppCompatActivity to androidx.appcompat.widget.Toolbar

3 个答案:

答案 0 :(得分:1)

您可以use

getSupportActionBar();

代替{strong>不存在的getSupportActionBar(toolbar);

相反,如果您想set the actionbar,则必须使用:

setSupportActionBar(toolbar);

答案 1 :(得分:0)

我认为您想在工具栏中添加“后退”按钮。

使用此代码可能会帮助您:

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.os.Bundle;

public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

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

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

    }

    //Must use this, if you are using- androidx.appcompat.widget.Toolbar;
    @Override
    public boolean onSupportNavigateUp() {
        onBackPressed();
        return true;
    }

答案 2 :(得分:-1)

工具栏工具栏= findViewById(R.id.toolbar);

toolbar.setTitle(“”);