[[戻る>Android GUI部品]]
#freeze
''[[MobileApp>Mobile Application 入門]]'' > ''[[Android>Android]]'' > ''[[GUI部品>Android GUI部品]]'' > ''リストビュー''

~
*ListView [#l5d69785]

#ref(list_fade_1.png);


~
**ソース [#uf83ae53]
  ListView list = new ListView(this);
  setContentView(list, new ViewGroup.LayoutParams(WC, WC));
*ソース [#uf83ae53]

~
  ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.rowdata, data);

**ソースその1 [#paef5978]


***ソース本体 [#qecb1f3d]
 extends を Activityでなく、"ListActivity"にしている事に注意
 package com.test12;
 
  // ListViewのインスタンスを生成
  ListView list  = new ListView(this);
  
  // ListをListViewにセットする
  list.setAdapter(arrayAdapter);
 import android.app.Activity;
 import android.os.Bundle;
 import android.widget.ArrayAdapter;
 import android.app.ListActivity;
 import android.widget.AdapterView.OnItemClickListener;
 
  setContentView(list, new LayoutParams(WC, WC));

~
~
 private String[] data = {"Apple", "Lemon", "Orange"};
 public class test12 extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        //これ無いと落ちる. なんで?
        super.onCreate(savedInstanceState);
 
 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));      
 
    ArrayAdapter<String> arrayAdapter
      = new ArrayAdapter<String>(this, R.layout.rowtext, data);
    }
 
    // 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 [#j0362b5d]
   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"
 />





~
**ソース [#dc0bc7d4]
**ソース その2[#dc0bc7d4]


 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("あいうえお", 480));
        	adapter.add(new Dish("かきくけこ", 540));
        	adapter.add(new Dish("さしすせそ", 460));
        	adapter.add(new Dish("たちつてと", 520));
        	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 [#i4b1c2d9]
 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>


~
[[戻る>Android GUI部品]]

~

*その他 [#i1ae8fdc]
   OnItemClickListener は List のアイテムがクリックされたときに Callされる~
   OnItemSelectedListener は十字キー等により List のアイテムのフォーカスが移動したときに呼び出される


~
  ''[[戻る>Android GUI部品]]''


Wiki TOP   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS