这段代码中存在一个错误,错误发生在 setSupportActionBar(myToolbar); 这行代码。错误的原因是您正在尝试将 android.widget.Toolbar 传递给 setSupportActionBar() 方法,而 setSupportActionBar() 方法需要接受 androidx.appcompat.widget.Toolbar 作为参数。

要解决这个问题,您需要将导入语句中的 Toolbar 类更改为 androidx.appcompat.widget.Toolbar。请按照以下步骤进行修改:

  1. 在导入部分,将导入语句中的 Toolbar 类更改为 androidx.appcompat.widget.Toolbar
import androidx.appcompat.widget.Toolbar;
  1. 在代码中,将 myToolbar 的类型从 Toolbar 更改为 androidx.appcompat.widget.Toolbar
myToolbar = findViewById(R.id.mytoolbar);

这样,您就可以将 androidx.appcompat.widget.Toolbar 正确地传递给 setSupportActionBar() 方法了。

修改后的代码如下所示:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn = (FloatingActionButton) findViewById(R.id.AddButton);
    lv = findViewById(R.id.lv);
    myToolbar = findViewById(R.id.mytoolbar);
    noteList = new ArrayList<>(); // 初始化noteList
    adapter = new NodeAdapter(getApplicationContext(), noteList);////这里是个易错点
    refreshListView();
    lv.setAdapter(adapter);

    setSupportActionBar(myToolbar);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(MainActivity.this, EditActivity.class);
            startActivityForResult(intent, 0);  //废弃函数需要修改
        }
    });
}

希望这次能够解决您的问题。如果还有其他问题,请随时提问。

Android Studio 错误:'setSupportActionBar(androidx.appcompat.widget.Toolbar)' 无法应用于 '(android.widget.Toolbar)'

原文地址: http://www.cveoy.top/t/topic/bLEG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录