×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

リストビュー (ListView) のアイテム選択イベント

リストビューのアイテムを選択したときのイベントを処理するには、ListView クラスの
setOnItemClickListener
メソッドを使用します。

ここでは、リストビューのアイテムを選択したときに、そのアイテムの文字列をポップアップして表示する例を紹介します。

ソースコード

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

public class ListViewSampleActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // 追加するアイテムを生成する
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            this, android.R.layout.simple_list_item_1);
        adapter.add("listview item 1");
        adapter.add("listview item 2");
        adapter.add("listview item 3");

        // リストビューにアイテム (adapter) を追加
        ListView listView1 = (ListView)findViewById(R.id.listView1);
        listView1.setAdapter(adapter);

        // アイテムクリック時ののイベントを追加
        listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent,
                                    View view, int pos, long id) {

                // 選択アイテムを取得
                ListView listView = (ListView)parent;
                String item = (String)listView.getItemAtPosition(pos);

                // 通知ダイアログを表示
                Toast.makeText(ListViewSampleActivity.this,
                               item, Toast.LENGTH_LONG
                               ).show();
            }
        });
    }
}


リソース

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

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

</LinearLayout>

リストビュー (ListView) 関連の記事

 ⇒ リストビュー (ListView) の使い方
 ⇒ リストビュー (ListView) の選択モード