ツールバーを実装したときにAndroidStudioの以下のエラーメッセージが出るときがあります。
エラー: 不適合な型: android.widget.Toolbarをandroid.support.v7.widget.Toolbarに変換できません:
この記事では、このエラーが何なのか?そしてその対処方法を紹介します。
問題の原因
問題はimport文のライブラリ名のミスです。以下はAndroid Studioでツールバーを実装したときのコードです。
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.tb);
setSupportActionBar(toolbar);
}
}
ここで注目すべきは3行目のAndroid Sudioに自動生成された、以下のコードです。
import android.widget.Toolbar;
最新のツールバーで使用されるライブラリ名はandroid.support.v7.widget.Toolbarなのですが、
AndroidStudioで自動生成されたimport文でのライブラリ名は古いものになっています。
このように、本来あるべきライブラリ名と異なったimport文が使用されたのが問題の原因だったのです。
対処方法
さきほどのセクションで問題の原因はimportのライブラリ名のミスと分かりました。よって、対処方法は以下のようにimport文を修正します。
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.tb);
setSupportActionBar(toolbar);
}
}