質問: new ArrayAdapter<>( this, android.R.layout.simple_list_item_1, data); this.setListAdapter(adapter); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); adapter.remove((String) ((TextView) v).getText()); } } ``` 自分なりにListActivityについていろいろ調べたのですが、ネット上でも具体的な記述方法(作成方法)が見当たらず、さっそく壁にぶち当たっています。 基本的なところで躓いていて恥ずかしい限りですが、ご教示いただけますと幸いです。 追記 先にメソッド部分を記述すると、import文が記述できました。勝手なimportはできないようになってるんですね。となると、いよいよどんな手順で作成すればいいのかわかんなくなってきました。スーパークラスの継承以外にすべきことがあるのでしょうか。ちなみに、前述の書籍には特に何の説明もありません。。。
回答: おかしいですね。 Optimize imports on the flyとAdd unambiguous imports on the flyのオプションを**有効**にした状態で、下図のようにpackage文以外を全て除去したソースファイルに、ご提示いただいたソースのクラス部分だけをペーストしてみました。 !イメージ説明 すると、自動インポートが正常に働いて、全ての名前が解決されます。ListViewやTextViewもきちんと挿入されています。 !イメージ説明 ここでOptimize imports on the flyとAdd unambiguous imports on the flyを**無効**に切り替えて、import文を全て除去してみました。当然至るところがエラーになります。 !イメージ説明 Android Studioでは、エラーが発生している箇所にカーソルを移動して、`Alt+Enter`キーを押すと、解決法を示してくれます。ここではListActivityの上にカーソルを持って行って`Alt+Enter`を入力してみました。 !イメージ説明 ここで「Import Class」を選択すると、import文が挿入されます。他の赤字表示のクラス名も同じ要領で操作を繰り返したところ、全てのimport文が挿入できてノーエラーの状態にすることができました。 import文の手入力でも問題はありませんでした。 以上のようにいくつか試してみましたが、ご質問の状況が再現できません。少なくとも、このソースやListActivityそのものがAndroid Studioにとってイレギュラーなものということはありません。何か設定的な問題があるのかもしれませんが、ちょっと想像がつかないです。 (ここから追記) > > 同著のサンプルソースを読みながらMainActivity.javaのソースを書き換えていったのですが > > > あ!? ソースファイル名はMainActivity.javaなのですか?Javaではソースファイルに含まれる唯一のpublicなクラス名をソースファイル名としなければなりません。この例で言えば、Testというクラス名なのですから、Test.javaにしないと。そのせい?