MobileApp > Android > GUI部品 > リストビュー


ListView

list_fade_1.png


ソース

ソースその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の標準フォーマットとして元々入っている。
   sdk\platforms\android-1.6\data\res\layout に配置されている。

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される
   OnItemSelectedListener は十字キー等により List のアイテムのフォーカスが移動したときに呼び出される


  戻る

     




Wiki TOP   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS