Android Studio 错误:'setSupportActionBar(androidx.appcompat.widget.Toolbar)' 无法应用于 '(android.widget.Toolbar)'
这段代码中存在一个错误,错误发生在 setSupportActionBar(myToolbar); 这行代码。错误的原因是您正在尝试将 android.widget.Toolbar 传递给 setSupportActionBar() 方法,而 setSupportActionBar() 方法需要接受 androidx.appcompat.widget.Toolbar 作为参数。
要解决这个问题,您需要将导入语句中的 Toolbar 类更改为 androidx.appcompat.widget.Toolbar。请按照以下步骤进行修改:
- 在导入部分,将导入语句中的
Toolbar类更改为androidx.appcompat.widget.Toolbar:
import androidx.appcompat.widget.Toolbar;
- 在代码中,将
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); //废弃函数需要修改
}
});
}
希望这次能够解决您的问题。如果还有其他问题,请随时提问。
原文地址: http://www.cveoy.top/t/topic/bLEG 著作权归作者所有。请勿转载和采集!