こんにちわ、
無名クラスの表記だと素人だとわかりづらいので、原始的なクラスにして理解を深めようとしましたが
ビルドがうまくいきません。アドバイスお願いします。
エラー: 不適合な型: MainActivity.MyListenerをOnItemClickListenerに変換できません:
エラー: MainActivity.MyListenerはabstractでなく、OnClickListener内のabstractメソッドonClick(View)をオーバーライドしません
Java
1public class MainActivity extends AppCompatActivity { 2 3 ArrayAdapter<String> adapter; 4 5@Override 6 protected void onCreate(Bundle savedInstanceState) { 7 super.onCreate(savedInstanceState); 8 setContentView(R.layout.activity_main); 9 10 final ArrayList<String> data = new ArrayList<>(); 11 data.add("胡椒"); 12 data.add("ターメリック"); 13 data.add("コリアンダー"); 14 data.add("生姜"); 15 data.add("ニンニク"); 16 data.add("サフラン"); 17 18 adapter = new ArrayAdapter<>( 19 this, android.R.layout.simple_list_item_1, data); 20 ListView list = (ListView) findViewById(R.id.list); 21 list.setAdapter(adapter); 22 23 ////////ここ無名クラスを///start//////////////////////////// 24 list.setOnItemClickListener( 25 new AdapterView.OnItemClickListener() { 26 public void onItemClick(AdapterView<?> av, 27 View view, int position, long id) { 28 adapter.remove((String) ((TextView) view).getText()); 29 // adapter.add("ナツメグ"); 30 31 } 32 } 33 ); 34 //////////////////////end//////////////////////////// 35 } 36}
Java
1 2/*原始的なクラスにしたがうまくいかない*/ 3 4public class MainActivity extends AppCompatActivity { 5 6 ArrayAdapter<String> adapter; 7 8 @Override 9 protected void onCreate(Bundle savedInstanceState) { 10 super.onCreate(savedInstanceState); 11 setContentView(R.layout.activity_main); 12 13 final ArrayList<String> data = new ArrayList<>(); 14 data.add("胡椒"); 15 data.add("ターメリック"); 16 data.add("コリアンダー"); 17 data.add("生姜"); 18 data.add("ニンニク"); 19 data.add("サフラン"); 20 21 adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data); 22 ListView list = (ListView) findViewById(R.id.list); 23 list.setAdapter(adapter); 24 25 list.setOnItemClickListener(new MyListener()); 26 27 } 28 29 /////原始的なクラスに変換/////////start/////////////////////// 30 class MyListener implements AdapterView.OnClickListener{ 31 32 public void onItemClick(AdapterView<?> av, View view, int position, long id) { 33 34 adapter.remove((String) ((TextView) view).getText()); 35 // adapter.add("ナツメグ"); 36 37 } 38 } 39 //////////////////////////////end/////////////////////////////// 40 41} 42
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/13 14:41