[Android Studio] ListViewの項目をクリックしてトーストを出す

どうも、tatsuです!

今日は、ListViewの項目をクリックしてトーストを出す方法を説明します。

※この記事で使用しているAndroid Studioのバージョンは2.3.3です。

ListViewの項目をクリックしてトーストを出す

ListViewの項目をクリックしてトーストを出すには以下のように記述します。

activity_main.xml

activity_main.xmlは以下のようにします。

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

MainActivity.java

MainActivity.javaは以下のようにします。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // ListViewに表示する項目を生成
        ArrayList<String> noodleList= new ArrayList<>();
        noodleList.add("そば");
        noodleList.add("うどん");
        noodleList.add("そうめん");
        noodleList.add("パスタ");
        noodleList.add("ラーメン");
        noodleList.add("ペンネ");

        /**
         * Adapterを生成
         * android.R.layout.simple_list_item_1 : リストビュー自身のレイアウト。今回はAndroid標準のレイアウトを使用。
         * noodleList : Adapterのコンストラクタの引数としてListViewに表示する項目のリストを渡す。
         */
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, noodleList);

        // idがlistのListViewを取得
        ListView listView = (ListView) findViewById(R.id.list);
        listView.setAdapter(arrayAdapter);

        // リスト項目をクリックした時の処理
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            /**
             * @param parent ListView
             * @param view 選択した項目
             * @param position 選択した項目の添え字
             * @param id 選択した項目のID
             */
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // 選択した項目をTextViewにキャストした後、Stringにキャストする
                String selectedItem = (String)((TextView) view).getText();
                Toast toast = Toast.makeText(MainActivity.this, selectedItem, Toast.LENGTH_SHORT);
                toast.show();
            }
        });
    }

}

結果

↓「うどん」クリック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です