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

getSupportActionBar() in AppCompatActivity cannot be applied to androidx.appcompat.widget.Toolbar

我在开发工具栏时遇到错误 我已经在互联网上搜索了解决方案,但由于我是 android 开发的新手,所以任何解决方案都可以正常工作。

我尝试将 androidx.appcompat.widget.Toolbar 更改为 android.support.v7.widget.toolbar 然后我收到一个错误,因为无法解析 v7

主要Activity

   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

你可以use:

getSupportActionBar();

而不是 getSupportActionBar(toolbar); 不存在。

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

setSupportActionBar(toolbar);

我想你想在你的工具栏中添加后退按钮。

使用此代码可能对您有所帮助:

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;
    }

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

toolbar.setTitle(" ");