[HP Top] |
MobileApp > Android > GUI部品 > リストビュー ListView †ソース †ソースその1 †ソース本体 †extends を Activityでなく、"ListActivity"にしている事に注意 package com.test12; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.app.ListActivity; import android.widget.AdapterView.OnItemClickListener; public class test12 extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { //これ無いと落ちる. なんで? super.onCreate(savedInstanceState); //Menu項目をセットする String[] items = {"メニュー1","メニュー2","メニュー3"}; setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, items)); } // Menu項目をクリックした際の動作を定義する // onListItemClickメソッドには、ListView 、選択した項目v(TextView)、選択された位置のint値、IDを示すlong値が渡される protected void onListItemClick(ListView l, View v, int position, long id){ // 例)他の画面に画面遷移... Intent intent = new Intent(); intent.setClassName(getPackageName(), getClass().getPackage().getName() +".TestActivity"+position); startActivity(intent); } } simple_list_item_1.xml † simple_list_item_1.xml は SDK に ListViewの標準フォーマットとして元々入っている。 simple_list_item_1.xml <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:gravity="center_vertical" android:paddingLeft="6dip" android:minHeight="?android:attr/listPreferredItemHeight" /> ソース その2 †package com.chinsansoft; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.AdapterView; import android.widget.TextView; public class test07 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ArrayAdapter<Dish> adapter = new ArrayAdapter<Dish>(this, android.R.layout.simple_list_item_1); adapter.add(new Dish("あいうえお", 100)); adapter.add(new Dish("かきくけこ", 200)); adapter.add(new Dish("さしすせそ", 300)); adapter.add(new Dish("たちつてと", 400)); final ListView listview = (ListView) findViewById(R.id.ListView01); listview.setAdapter(adapter); } } class Dish { String name; int price; Dish(String aname, int aprice) { name = aname; price = aprice; } public String toString() { return name + "(" + price + "円)"; } public String getName() { return name; } public int getPrice() { return price; } } main.xml †main.xml <?xml version="1.0" encoding="utf-8"?> <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ListView01" android:layout_width="fill_parent" android:layout_height="fill_parent"> </ListView> その他 † OnItemClickListener は List のアイテムがクリックされたときに Callされる |