1. ホーム

アンドロイド エントリーの利用

2022-02-23 23:21:51

AndroidコンポーネントのListView(リストビュー)

<テーブル [日付:2011年12月18日]。 出典 Linuxコミュニティ By: jjaze3344 [フォント ミディアム ]

ListViewのリストビューで、リストアイテムを追加する方法は2つあり、それぞれ以下のコラムで説明します。

スタイルファイルで

  1. <? xml バージョン = "1.0"。 エンコーディング = "utf-8"。 <スパン ? >
  2. <スパン < リニアレイアウト xmlns: アンドロイド = <スパン "http://schemas.android.com/apk/res/android"。
  3. <スパン android:layout_width = <スパン "match_parent"。
  4. android:レイアウトの高さ = <スパン "match_parent"。
  5. android:オリエンテーション = <スパン "vertical"。 <スパン >
  6. <スパン < テキストビュー
  7. android:layout_width = <スパン fill_parent"。
  8. <スパン android:レイアウトの高さ = <スパン wrap_content"。
  9. アンドロイド:テキスト = <スパン "リスト:"。
  10. />
  11. <スパン < リストビュー
  12. android:layout_width = <スパン fill_parent"。
  13. <スパン android:レイアウトの高さ = <スパン wrap_content"。
  14. アンドロイド:エントリー = "@array/sports"。
  15. アンドロイド:デバイダー = "#00FF00"。
  16. />
  17. <スパン < リストビュー
  18. android:layout_width = <スパン fill_parent"。
  19. <スパン android:レイアウトの高さ = <スパン wrap_content"。
  20. android:id = <スパン "@+id/nameList"。
  21. アンドロイド:デバイダー = "#00FF00"。
  22. />
  23. <スパン </ リニアレイアウト >
上記のレイアウトでは2つのListViewが定義されており、最初のListViewはandroid:entriesを介してリストのアイテムの配列を指定します。
  1. <? xml バージョン = "1.0"。 エンコーディング = "utf-8"。 <スパン ? >
  2. <スパン < リソース >
  3. <スパン < 文字列配列 名称 = <スパン "スポーツ" <スパン >
  4. <スパン < 項目 > サッカー <スパン </ 項目 >
  5. <スパン < 項目 > バスケットボール <スパン <スパン </ 項目 >
  6. <スパン < 項目 > ピンポン <スパン </ 項目 >
  7. <スパン < 項目 > テニスボール <スパン </ 項目 >
  8. <スパン </ 文字列配列 >
  9. <スパン </ リソース >
2 番目の ListView は、ArrayAdapter アダプタを介して配列を使ってリスト項目を決定し、クリックイベントを待ち受けて、クリックごとにログを出力しています。
  1. パッケージ cn.class3g.activity;  
  2. android.app.Activityをインポートします。  
  3. android.os.Bundle をインポートします。  
  4. インポートアンドロイド.util.Log;  
  5. インポートandroid.view;  
  6. android.widget.AdapterViewをインポートします。  
  7. android.widget.AdapterView.OnItemClickListener をインポートします。  
  8. android.widget.ArrayAdapterをインポートします。  
  9. android.widget.ListViewをインポートします。  
  10. public class ListViewDemo extends Activity  
  11.     OnItemClickListener{を実装しています。  
  12.     リストビュー  名前リスト  =  ヌル ;  
  13.     文字列[]の場合  名前  = {"张三","李四","宋六","猪八"}となります。  
  14.     protected void onCreate(Bundle savedInstanceState) { .  
  15.         super.onCreate(savedInstanceState)を実行します。  
  16.         this.setContentView(R.layout.list_layout) を実行します。  
  17.         findViews()を使用します。  
  18.     }  
  19.     private void findViews() {  
  20. 名前リスト  = (ListView) this.findViewById(R.id.nameList);  
  21.         // アダプタを定義し、リストアイテムを定義する配列も追加します。  
  22.         ArrayAdapter  アダプタ  =  <スパン 新しい  ArrayAdapter(this,  
  23.                 android.R.layout.simple_list_item_1,names);  
  24.         nameList.setAdapter(アダプター)。  
  25.         //リストにリスナーイベントを追加する  
  26.         nameList.setOnItemClickListener(this)を実行します。  
  27.     }  
  28.     // リスナーインターフェース OnItemClickListener の抽象メソッドをオーバーライドする クリックされたリストアイテムに関する情報をログに出力する  
  29.     public void onItemClick(AdapterView <? <スパン >  arg0, View arg1, int arg2, long arg3) { {...  
  30.         ログ.i("TAG", names[arg2])  
  31.                 + "  <スパン 位置 =" + String.valueOf(arg2)です。  
  32.                 +"   <スパン 行番号 =" + String.valueOf(arg3) );  
  33.     }  
  34. }  
ログ表示や出力効果を備えたシミュレータ。



この例から、最初のリストビューは xml で Android:entries というプロパティを直接定義した後、データを表示するためにアダプタを使用する必要がなく、直接エントリが表示されるのに対し、2番目のリストビューはアダプタの下で表示されなければならないことがわかります。これが、両者の違いです。



ListViewのリストビューで、リストアイテムを追加する方法は2つあり、それぞれ以下のコラムで説明します。

スタイルファイルで

  1. <? xml バージョン = "1.0"。 エンコーディング = "utf-8"。 <スパン ? >
  2. <スパン < リニアレイアウト xmlns: アンドロイド = <スパン "http://schemas.android.com/apk/res/android"。
  3. <スパン android:layout_width = <スパン "match_parent"。
  4. android:レイアウトの高さ = <スパン "match_parent"。
  5. android:オリエンテーション = <スパン "vertical"。 <スパン >
  6. <スパン < テキストビュー
  7. android:layout_width = <スパン fill_parent"。
  8. <スパン android:レイアウトの高さ = <スパン wrap_content"。
  9. アンドロイド:テキスト = <スパン "リスト:"。
  10. />
  11. <スパン < リストビュー
  12. android:layout_width = <スパン fill_parent"。
  13. <スパン android:レイアウトの高さ = <スパン wrap_content"。
  14. アンドロイド:エントリー = "@array/sports"。
  15. アンドロイド:デバイダー = "#00FF00"。
  16. />
  17. <スパン < リストビュー
  18. android:layout_width = <スパン fill_parent"。
  19. <スパン android:レイアウトの高さ = <スパン wrap_content"。
  20. android:id = <スパン "@+id/nameList"。
  21. アンドロイド:デバイダー = "#00FF00"。
  22. />
  23. <スパン </ リニアレイアウト >
上記のレイアウトでは2つのListViewが定義されており、そのうちの1つはandroid:entriesを介してリストのアイテムの配列を指定します。
  1. <? xml バージョン = "1.0"。 エンコーディング = "utf-8"。 ? >
  2. <スパン < リソース >
  3. <スパン < 文字列配列 名称 = <スパン "スポーツ" <スパン >
  4. <スパン < 項目 > サッカー <スパン </ 項目 >
  5. <スパン < 項目 > バスケットボール <スパン <スパン </ 項目 >
  6. <スパン < 項目 > ピンポン <スパン </ 項目 >
  7. <スパン < 項目 > テニスボール <スパン </ 項目 >
  8. <スパン </ 文字列配列 >
  9. <スパン </ リソース >
2 番目の ListView は、ArrayAdapter アダプタを介して配列を使ってリスト項目を決定し、クリックイベントを待ち受けて、クリックごとにログを出力しています。
  1. パッケージ cn.class3g.activity;  
  2. android.app.Activityをインポートします。  
  3. android.os.Bundle をインポートします。  
  4. インポートアンドロイド.util.Log;  
  5. インポートandroid.view;  
  6. android.widget.AdapterViewをインポートします。  
  7. android.widget.AdapterView.OnItemClickListener をインポートします。  
  8. android.widget.ArrayAdapterをインポートします。  
  9. android.widget.ListViewをインポートします。  
  10. public class ListViewDemo extends Activity  
  11.     OnItemClickListener{を実装しています。  
  12.     リストビュー  名前リスト  =  ヌル ;  
  13.     文字列[]の場合  名前  = {"张三","李四","宋六","猪八"}となります。  
  14.     protected void onCreate(Bundle savedInstanceState) { .  
  15.         super.onCreate(savedInstanceState)を実行します。  
  16.         this.setContentView(R.layout.list_layout) を実行します。  
  17.         findViews()を使用します。  
  18.     }  
  19.     private void findViews() {  
  20. 名前リスト  = (ListView) this.findViewById(R.id.nameList);  
  21.         // アダプタを定義し、リストアイテムを定義する配列も追加します。  
  22.         ArrayAdapter  アダプタ  =  <スパン 新しい  ArrayAdapter(this,  
  23.                 android.R.layout.simple_list_item_1,names);  
  24.         nameList.setAdapter(アダプター)。  
  25.         //リストにリスナーイベントを追加する  
  26.         nameList.setOnItemClickListener(this)を実行します。  
  27.     }  
  28.     // リスナーインターフェース OnItemClickListener の抽象メソッドをオーバーライドする クリックされたリストアイテムに関する情報をログに出力する  
  29.     public void onItemClick(AdapterView <? <スパン >  arg0, View arg1, int arg2, long arg3) { {...  
  30.         ログ.i("TAG", names[arg2])  
  31.                 + "  <スパン 位置 =" + String.valueOf(arg2)です。  
  32.                 +"   <スパン 行番号 =" + String.valueOf(arg3) );  
  33.     }  
  34. }  
ログ表示や出力効果を持つシミュレーター。



この例から、最初のリストビューは xml で Android:entries というプロパティを直接定義した後、データを表示するためにアダプタを使用する必要がなく、直接エントリが表示されるのに対し、2番目のリストビューはアダプタの下で表示されなければならないことがわかります。これが、両者の違いです。