状態:解決済
閲覧数:6,185
投稿日:2013-03-28
更新日:2013-03-28
[Shift]+[Ctrl]+[O]
Ecliseにて、[Shift]+[Ctrl]+[O]を入力
・Eclipseが必要なパッケージを判断して、下記インポートを自動記述し、無事解決
どこで入力するの?
・必ずしもエラーメッセージが表示されたところで入力する必要はない
・何故なら、Eclipseは、表示されている全ての内容について、必要パッケージを判断してインポート(自動記述)するから
複数パッケージ対応例
実際に遭遇したケース
・「型に解決できません」エラーメッセージのオンパレード状態
この行に複数マーカーがあります
- 型 View のメソッド setOnClickListener(View.OnClickListener) は引数 (new
OnClickListener(){}) に適用できません
- View を型に解決できません
View を型に解決できません
この行に複数マーカーがあります
- Intent を変数に解決で
きません
- Intent を型に解決できま
せん
- Intent を型に解決できま
せん
この行に複数マーカーがあります
- Uri を型に解決でき
ません
- 型 View のメソッド setOnClickListener(View.OnClickListener) は引数 (new
OnClickListener(){}) に適用できません
- View を型に解決できません
View を型に解決できません
この行に複数マーカーがあります
- Intent を変数に解決で
きません
- Intent を型に解決できま
せん
- Intent を型に解決できま
せん
この行に複数マーカーがあります
- Uri を型に解決でき
ません
エラーコード例
dialButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_DIAL);
// 電話番号を設定
Uri uri = Uri.parse("tel:09012345678");
intent.setData(uri);
startActivity(intent);
}
});
この状態で、[Shift]+[Ctrl]+[O] を入力するとどうなるか?
但し、万能ではない
概要
・「Eclipseが自動的に必要なパッケージを判断して、インポート(自動記述)する機能」は確かに便利だ
・しかし、万能ではない
判断できないケース
・インポートが必要なクラスが、「Android標準クラス」ではなく、「ユーザー定義クラス」だった場合
・この場合は、いくら[Shift]+[Ctrl]+[O]をクリックしても、自動記述してくれない(自分で判断して手動インポートするしかない)