前提・実現したいこと
JavaでAndroidアプリのコードを書いています。
ListViewを選択しているときの処理を書きたいので、OnItemSelectedListenerを実装したいです。
発生している問題
OnItemSelectedListenerを実装したが選択しても応答がない(トーストが出ない)。
エラーはなし。
原因がわからず困っています。よろしくお願いします。
該当のソースコード
MainActivity.java
java
1import androidx.appcompat.app.AppCompatActivity; 2import android.os.Bundle; 3import android.view.View; 4import android.widget.AdapterView; 5import android.widget.ArrayAdapter; 6import android.widget.ListView; 7import android.widget.Toast; 8import java.util.ArrayList; 9 10public class MainActivity extends AppCompatActivity { 11 12 @Override 13 protected void onCreate(Bundle savedInstanceState) { 14 super.onCreate(savedInstanceState); 15 setContentView(R.layout.activity_main); 16 17 // リスト項目 18 final ArrayList<String> data=new ArrayList<>(); 19 data.add("勉強"); 20 data.add("買い物"); 21 data.add("掃除"); 22 data.add("洗濯"); 23 data.add("料理"); 24 25 // 配列アダプター作成 26 ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_multiple_choice, data); 27 28 // ListViewにデータを登録 29 ListView todoList = findViewById(R.id.todoList); 30 todoList.setAdapter(adapter); 31 32 // Listが選択されているときのイベントリスナー 33 todoList.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 34 @Override 35 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 36 Toast toast = Toast.makeText(MainActivity.this, "選択中", Toast.LENGTH_SHORT); 37 toast.show(); 38 } 39 40 @Override 41 public void onNothingSelected(AdapterView<?> parent) { 42 } 43 }); 44 45 // クリックされたときのイベントリスナー 46// todoList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 47// @Override 48// public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 49// Toast toast = Toast.makeText(MainActivity.this, "選択中", Toast.LENGTH_SHORT); 50// toast.show(); 51// } 52// }); 53 } 54}
activity_main.xml
xml
1 2<?xml version="1.0" encoding="utf-8"?> 3<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:app="http://schemas.android.com/apk/res-auto" 5 xmlns:tools="http://schemas.android.com/tools" 6 android:layout_width="match_parent" 7 android:layout_height="match_parent" 8 android:orientation="vertical" 9 tools:context=".MainActivity"> 10 11 <Button 12 android:id="@+id/cdtButton" 13 android:layout_width="match_parent" 14 android:layout_height="wrap_content" 15 android:text="@string/cdtButton" /> 16 17 <ListView 18 android:id="@+id/todoList" 19 android:layout_width="match_parent" 20 android:layout_height="match_parent" 21 android:choiceMode="multipleChoice" /> 22 23</LinearLayout> 24
試したこと
MainActivity.javaの下部でコメントアウトしてあるOnItemClickListenerはちゃんと動作していることを確認した。
補足情報(FW/ツールのバージョンなど)
Androidstudio3.6.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。