ListViewにArrayAdapterを渡すサンプルコード(一覧項目から選択する場合のUI)

ListViewにArrayAdapterを渡す場合のサンプルです。
ListViewは一覧項目から選択する場合のUIに適しています。

ArrayAdapterにaddメソッドでアイテムを追加します。
setOnItemClickListenerでListViewに追加したOnItemClickListenerクラスのonItemClickメソッドで、クリックされたときの動作を指定します。
onItemClickメソッドの第3引数positionがクリックされたリスト番号です。
getItemAtPositionメソッドにリスト番号を渡すと、addメソッドでセットされたリストの表示内容が得られます。

サンプルコード

ListViewAppActivity.java

package com.example.test;

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.Toast;

public class ListViewAppActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		ListView listView = (ListView) findViewById(R.id.listview);
		ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.list_item);

		// アイテムを追加します
		arrayAdapter.add("あああ");
		arrayAdapter.add("いいい");
		arrayAdapter.add("ううう");
		arrayAdapter.add("えええ");
		arrayAdapter.add("おおお");
		arrayAdapter.add("かかか");
		arrayAdapter.add("ききき");
		arrayAdapter.add("くくく");
		arrayAdapter.add("けけけ");
		arrayAdapter.add("こここ");
		// サンプルのスクリーンショットでは 「さ」から「ろ」まで
		arrayAdapter.add("わわわ");

		// アダプターを設定します
		listView.setAdapter(arrayAdapter);

		// リストビューのアイテムがクリックされた時に呼び出されるクリックリスナーを登録します
		// クリックやタップしたときの動作です
		listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
				ListView listView = (ListView) parent;
				// クリックされたアイテムを取得します
				String item = (String) listView.getItemAtPosition(position);
				Toast.makeText(ListViewAppActivity.this, item, Toast.LENGTH_LONG).show();
			}
		});

		// リストビューのアイテムが選択された時に呼び出されるコールバックリスナーを登録します
		// 十字キーなどで選択したときの動作です
		listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
			@Override
			public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
				ListView listView = (ListView) parent;
				// 選択されたアイテムを取得します
				String item = (String) listView.getSelectedItem();
				Toast.makeText(TestExAppActivity.this, item, Toast.LENGTH_LONG).show();
			}

			@Override
			public void onNothingSelected(AdapterView<?> parent) {

			}
		});
	}
}

/res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
<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/listview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
</LinearLayout>

/res/layout/list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

関連記事

スポンサーリンク

Raspberry Piで使えるmicroSDカードの容量(最小容量 最大容量)

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る