ListActivity サンプル
ListActivityとArrayAdapterを使用したシンプルなリスト
ListViewActivity01
package com.objectfanatics.android.prj00019; import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; /** * Activity 全体を ListView として扱うために ListActivity を継承しています。setContentView(int) を呼び出す必要がないのでコードが単純になります。 */ public class ListViewActivity01 extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // リストに表示する国名の配列を文字列リソースから取得します。 String[] countryNamesList = getResources().getStringArray (R.array.country_names_list); // ArrayAdapter はオブジェクトの配列をリストの要素として扱うためのクラスです。 // 型変数には配列の要素の型が入ります。今回は文字列を扱うために <String> が指定されています。 // 第一引数は Context なので this を渡しています。 // 第二引数は各行の表示に対応するレイアウトを含んでいるレイアウトファイルのリソース ID なので今回は layout/listview_01_list_item.xml ファイルを作成して指定しています。 // 第三引数は ListView に表示される文字列の配列を指定します。 ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.listview_01_list_item, countryNamesList); // ListView に ArrayAdapter を渡すことにより、ListView は表示する内容を認識します。 setListAdapter(arrayAdapter); } }
listview_01_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="fill_parent"> </TextView>
strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">prj00019_ListViewSample</string> <string-array name="country_names_list"> <item>Afghanistan</item> <item>Albania</item> <item>Algeria</item> <item>American Samoa</item> <item>Andorra</item> <item>Angola</item> <item>Anguilla</item> <item>Antarctica</item> <item>Antigua and Barbuda</item> <item>Argentina</item> <item>Armenia</item> <item>Aruba</item> <item>Australia</item> <item>Austria</item> <item>Azerbaijan</item> <item>Bahrain</item> <item>Bangladesh</item> <item>Barbados</item> <item>Belarus</item> <item>Belgium</item> <item>Belize</item> <item>Benin</item> <item>Bermuda</item> <item>Bhutan</item> <item>Bolivia</item> <item>BosniaandHerzegovina</item> <item>Botswana</item> <item>BouvetIsland</item> <item>Brazil</item> <item>BritishIndianOceanTerritory</item> <item>BritishVirginIslands</item> <item>Brunei</item> <item>Bulgaria</item> <item>BurkinaFaso</item> <item>Burundi</item> <item>Coted\'Ivoire</item> <item>Cambodia</item> <item>Cameroon</item> <item>Canada</item> <item>CapeVerde</item> <item>CaymanIslands</item> <item>CentralAfricanRepublic</item> <item>Chad</item> <item>Chile</item> <item>China</item> <item>ChristmasIsland</item> <item>Cocos(Keeling)Islands</item> <item>Colombia</item> <item>Comoros</item> <item>Congo</item> <item>CookIslands</item> <item>CostaRica</item> <item>Croatia</item> <item>Cuba</item> <item>Cyprus</item> <item>CzechRepublic</item> <item>DemocraticRepublicoftheCongo</item> <item>Denmark</item> <item>Djibouti</item> <item>Dominica</item> <item>DominicanRepublic</item> <item>EastTimor</item> <item>Ecuador</item> <item>Egypt</item> <item>ElSalvador</item> <item>EquatorialGuinea</item> <item>Eritrea</item> <item>Estonia</item> <item>Ethiopia</item> <item>FaeroeIslands</item> <item>FalklandIslands</item> <item>Fiji</item> <item>Finland</item> <item>FormerYugoslavRepublicofMacedonia</item> <item>France</item> <item>FrenchGuiana</item> <item>FrenchPolynesia</item> <item>FrenchSouthernTerritories</item> <item>Gabon</item> <item>Georgia</item> <item>Germany</item> <item>Ghana</item> <item>Gibraltar</item> <item>Greece</item> <item>Greenland</item> <item>Grenada</item> <item>Guadeloupe</item> <item>Guam</item> <item>Guatemala</item> <item>Guinea</item> <item>Guinea-Bissau</item> <item>Guyana</item> <item>Haiti</item> <item>HeardIslandandMcDonaldIslands</item> <item>Honduras</item> <item>HongKong</item> <item>Hungary</item> <item>Iceland</item> <item>India</item> <item>Indonesia</item> <item>Iran</item> <item>Iraq</item> <item>Ireland</item> <item>Israel</item> <item>Italy</item> <item>Jamaica</item> <item>Japan</item> <item>Jordan</item> <item>Kazakhstan</item> <item>Kenya</item> <item>Kiribati</item> <item>Kuwait</item> <item>Kyrgyzstan</item> <item>Laos</item> <item>Latvia</item> <item>Lebanon</item> <item>Lesotho</item> <item>Liberia</item> <item>Libya</item> <item>Liechtenstein</item> <item>Lithuania</item> <item>Luxembourg</item> <item>Macau</item> <item>Madagascar</item> <item>Malawi</item> <item>Malaysia</item> <item>Maldives</item> <item>Mali</item> <item>Malta</item> <item>MarshallIslands</item> <item>Martinique</item> <item>Mauritania</item> <item>Mauritius</item> <item>Mayotte</item> <item>Mexico</item> <item>Micronesia</item> <item>Moldova</item> <item>Monaco</item> <item>Mongolia</item> <item>Montserrat</item> <item>Morocco</item> <item>Mozambique</item> <item>Myanmar</item> <item>Namibia</item> <item>Nauru</item> <item>Nepal</item> <item>Netherlands</item> <item>NetherlandsAntilles</item> <item>NewCaledonia</item> <item>NewZealand</item> <item>Nicaragua</item> <item>Niger</item> <item>Nigeria</item> <item>Niue</item> <item>NorfolkIsland</item> <item>NorthKorea</item> <item>NorthernMarianas</item> <item>Norway</item> <item>Oman</item> <item>Pakistan</item> <item>Palau</item> <item>Panama</item> <item>PapuaNewGuinea</item> <item>Paraguay</item> <item>Peru</item> <item>Philippines</item> <item>PitcairnIslands</item> <item>Poland</item> <item>Portugal</item> <item>PuertoRico</item> <item>Qatar</item> <item>Reunion</item> <item>Romania</item> <item>Russia</item> <item>Rwanda</item> <item>SqoTomeandPrincipe</item> <item>SaintHelena</item> <item>SaintKittsandNevis</item> <item>SaintLucia</item> <item>SaintPierreandMiquelon</item> <item>SaintVincentandtheGrenadines</item> <item>Samoa</item> <item>SanMarino</item> <item>SaudiArabia</item> <item>Senegal</item> <item>Seychelles</item> <item>SierraLeone</item> <item>Singapore</item> <item>Slovakia</item> <item>Slovenia</item> <item>SolomonIslands</item> <item>Somalia</item> <item>SouthAfrica</item> <item>SouthGeorgiaandtheSouthSandwichIslands</item> <item>SouthKorea</item> <item>Spain</item> <item>SriLanka</item> <item>Sudan</item> <item>Suriname</item> <item>SvalbardandJanMayen</item> <item>Swaziland</item> <item>Sweden</item> <item>Switzerland</item> <item>Syria</item> <item>Taiwan</item> <item>Tajikistan</item> <item>Tanzania</item> <item>Thailand</item> <item>TheBahamas</item> <item>TheGambia</item> <item>Togo</item> <item>Tokelau</item> <item>Tonga</item> <item>TrinidadandTobago</item> <item>Tunisia</item> <item>Turkey</item> <item>Turkmenistan</item> <item>TurksandCaicosIslands</item> <item>Tuvalu</item> <item>VirginIslands</item> <item>Uganda</item> <item>Ukraine</item> <item>UnitedArabEmirates</item> <item>UnitedKingdom</item> <item>UnitedStates</item> <item>UnitedStatesMinorOutlyingIslands</item> <item>Uruguay</item> <item>Uzbekistan</item> <item>Vanuatu</item> <item>VaticanCity</item> <item>Venezuela</item> <item>Vietnam</item> <item>WallisandFutuna</item> <item>WesternSahara</item> <item>Yemen</item> <item>Yugoslavia</item> <item>Zambia</item> <item>Zimbabwe</item> </string-array> </resources>
ListViewActivity01 を継承し、リストの要素をクリックされた場合の振る舞いを追加したもの
ListViewActivity02.java
package com.objectfanatics.android.prj00019; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; /** * ListViewActivity01 を継承し、リストの要素をクリックされた場合の振る舞いを追加しています。 */ public class ListViewActivity02 extends ListViewActivity01 { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // この Activity に対応する ListView を取得 ListView lv = getListView(); // ListView のアイテムがクリックされた場合の振る舞いを登録 lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 指定された行の文字列を取得 CharSequence rowString = ((TextView) view).getText(); // クリックされたら対応する文字列を Toast で表示 Toast.makeText(getApplicationContext(), rowString, Toast.LENGTH_SHORT).show(); } }); } }
ListView の各行に 独自に定義した TextView を使用
ListViewActivity03
package com.objectfanatics.android.prj00019; import android.app.ListActivity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; /** * ListView の各行に 独自に定義した TextView を使用しています。 */ public class ListViewActivity03 extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // リストに表示する国名の配列を文字列リソースから取得します。 final String[] countryNamesList = getResources().getStringArray(R.array.country_names_list); // ArrayAdapter はオブジェクトの配列をリストの要素として扱うためのクラスです。 // 型変数には配列の要素の型が入ります。今回は文字列を扱うために <String> が指定されています。 // 第一引数は Context なので this を渡しています。 // 第二引数は各行の表示に対応するレイアウトを含んでいるレイアウトファイルのリソース ID なので今回は // layout/listview_01_list_item.xml ファイルを作成して指定しています。 // 第三引数は ListView に表示される文字列の配列を指定します。 ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.listview_01_list_item, countryNamesList) { @Override public View getView(int position, View convertView, ViewGroup parent) { // ビューを受け取る TextView textView = (TextView)convertView; if (textView == null) { // 受け取ったビューがnullなら新しくビューを生成 textView = (TextView)((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.row_01, null); } textView.setText(countryNamesList[position]); return textView; } }; // ListView に ArrayAdapter を渡すことにより、ListView は表示する内容を認識します。 setListAdapter(arrayAdapter); } }
row_01.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"> </TextView>
ListView の各行に ImageView や TextView を組み合わせた独自の View を使用した例
ListViewActivity04
package com.objectfanatics.android.prj00019; import android.app.ListActivity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; /** * ListView の各行に ImageView や TextView を組み合わせた独自の View を使用しています。 */ public class ListViewActivity04 extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // リストに表示する国名の配列を文字列リソースから取得します。 final String[] countryNamesList = getResources().getStringArray(R.array.country_names_list); // ArrayAdapter はオブジェクトの配列をリストの要素として扱うためのクラスです。 // 型変数には配列の要素の型が入ります。今回は文字列を扱うために <String> が指定されています。 // 第一引数は Context なので this を渡しています。 // 第二引数は各行の表示に対応するレイアウトを含んでいるレイアウトファイルのリソース ID なので今回は // layout/listview_01_list_item.xml ファイルを作成して指定しています。 // 第三引数は ListView に表示される文字列の配列を指定します。 ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, R.layout.row_02, countryNamesList) { @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { // 受け取ったビューがnullなら新しくビューを生成 convertView = (View)((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.row_02, null); } TextView textView = (TextView)convertView.findViewById(R.id.row_02_textView); textView.setText(countryNamesList[position]); return convertView; } }; // ListView に ArrayAdapter を渡すことにより、ListView は表示する内容を認識します。 setListAdapter(arrayAdapter); } }
row_02.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon" /> <TextView android:id="@+id/row_02_textView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout>
システムのデフォルトのアイコンとその名前を表示するサンプル
ListViewActivity05.java
package com.objectfanatics.android.prj00019; import android.app.ListActivity; import android.content.Context; import android.content.res.Resources.NotFoundException; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; /** * システムのデフォルトのアイコンとその名前を表示します。 */ public class ListViewActivity05 extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ArrayAdapter<ImageResource> arrayAdapter = new ArrayAdapter<ImageResource>(this, R.layout.listview_01_list_item, imageResources) { @Override public View getView(int position, View convertView, ViewGroup parent) { // View が null の場合 if (convertView == null) { // View が null のため新しくビューを生成する convertView = (View)((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.row_03, null); } // アイコンを表示するための view を取得する ImageView iconImageView = (ImageView)convertView.findViewById(R.id.iconImageView); try { // 表示すべき Drawable を取得する。対象が存在しない場合は NotFoundException がスローされる getResources().getDrawable(imageResources[position].id); iconImageView.setImageResource(imageResources[position].id); } catch (NotFoundException e) { // 対象の Drawable が存在しないため、代わりに R.drawable.icon を表示する。 Log.d("", "Resource " + imageResources[position].name + " Not Found."); iconImageView.setImageResource(R.drawable.icon); } TextView textView = (TextView)convertView.findViewById(R.id.textImageView); textView.setText(imageResources[position].name); return convertView; } }; setListAdapter(arrayAdapter); } private final ImageResource[] imageResources = new ImageResource[] { new ImageResource("alert_dark_frame", android.R.drawable.alert_dark_frame), new ImageResource("alert_light_frame", android.R.drawable.alert_light_frame), new ImageResource("arrow_down_float", android.R.drawable.arrow_down_float), new ImageResource("arrow_up_float", android.R.drawable.arrow_up_float), new ImageResource("bottom_bar", android.R.drawable.bottom_bar), new ImageResource("btn_default", android.R.drawable.btn_default), new ImageResource("btn_default_small", android.R.drawable.btn_default_small), new ImageResource("btn_dialog", android.R.drawable.btn_dialog), new ImageResource("btn_dropdown", android.R.drawable.btn_dropdown), new ImageResource("btn_minus", android.R.drawable.btn_minus), new ImageResource("btn_plus", android.R.drawable.btn_plus), new ImageResource("btn_radio", android.R.drawable.btn_radio), new ImageResource("btn_star", android.R.drawable.btn_star), new ImageResource("btn_star_big_off", android.R.drawable.btn_star_big_off), new ImageResource("btn_star_big_on", android.R.drawable.btn_star_big_on), new ImageResource("button_onoff_indicator_off", android.R.drawable.button_onoff_indicator_off), new ImageResource("button_onoff_indicator_on", android.R.drawable.button_onoff_indicator_on), new ImageResource("checkbox_off_background", android.R.drawable.checkbox_off_background), new ImageResource("checkbox_on_background", android.R.drawable.checkbox_on_background), new ImageResource("dark_header", android.R.drawable.dark_header), new ImageResource("dialog_frame", android.R.drawable.dialog_frame), // new ImageResource("dialog_holo_dark_frame", android.R.drawable.dialog_holo_dark_frame), // new ImageResource("dialog_holo_light_frame", android.R.drawable.dialog_holo_light_frame), new ImageResource("divider_horizontal_bright", android.R.drawable.divider_horizontal_bright), new ImageResource("divider_horizontal_dark", android.R.drawable.divider_horizontal_dark), new ImageResource("divider_horizontal_dim_dark", android.R.drawable.divider_horizontal_dim_dark), new ImageResource("divider_horizontal_textfield", android.R.drawable.divider_horizontal_textfield), new ImageResource("edit_text", android.R.drawable.edit_text), new ImageResource("editbox_background", android.R.drawable.editbox_background), new ImageResource("editbox_background_normal", android.R.drawable.editbox_background_normal), new ImageResource("editbox_dropdown_dark_frame", android.R.drawable.editbox_dropdown_dark_frame), new ImageResource("editbox_dropdown_light_frame", android.R.drawable.editbox_dropdown_light_frame), new ImageResource("gallery_thumb", android.R.drawable.gallery_thumb), new ImageResource("ic_btn_speak_now", android.R.drawable.ic_btn_speak_now), new ImageResource("ic_delete", android.R.drawable.ic_delete), new ImageResource("ic_dialog_alert", android.R.drawable.ic_dialog_alert), new ImageResource("ic_dialog_dialer", android.R.drawable.ic_dialog_dialer), new ImageResource("ic_dialog_email", android.R.drawable.ic_dialog_email), new ImageResource("ic_dialog_info", android.R.drawable.ic_dialog_info), new ImageResource("ic_dialog_map", android.R.drawable.ic_dialog_map), new ImageResource("ic_input_add", android.R.drawable.ic_input_add), new ImageResource("ic_input_delete", android.R.drawable.ic_input_delete), new ImageResource("ic_input_get", android.R.drawable.ic_input_get), new ImageResource("ic_lock_idle_alarm", android.R.drawable.ic_lock_idle_alarm), new ImageResource("ic_lock_idle_charging", android.R.drawable.ic_lock_idle_charging), new ImageResource("ic_lock_idle_lock", android.R.drawable.ic_lock_idle_lock), new ImageResource("ic_lock_idle_low_battery", android.R.drawable.ic_lock_idle_low_battery), new ImageResource("ic_lock_lock", android.R.drawable.ic_lock_lock), new ImageResource("ic_lock_power_off", android.R.drawable.ic_lock_power_off), new ImageResource("ic_lock_silent_mode", android.R.drawable.ic_lock_silent_mode), new ImageResource("ic_lock_silent_mode_off", android.R.drawable.ic_lock_silent_mode_off), new ImageResource("ic_media_ff", android.R.drawable.ic_media_ff), new ImageResource("ic_media_next", android.R.drawable.ic_media_next), new ImageResource("ic_media_pause", android.R.drawable.ic_media_pause), new ImageResource("ic_media_play", android.R.drawable.ic_media_play), new ImageResource("ic_media_previous", android.R.drawable.ic_media_previous), new ImageResource("ic_media_rew", android.R.drawable.ic_media_rew), new ImageResource("ic_menu_add", android.R.drawable.ic_menu_add), new ImageResource("ic_menu_agenda", android.R.drawable.ic_menu_agenda), new ImageResource("ic_menu_always_landscape_portrait", android.R.drawable.ic_menu_always_landscape_portrait), new ImageResource("ic_menu_call", android.R.drawable.ic_menu_call), new ImageResource("ic_menu_camera", android.R.drawable.ic_menu_camera), new ImageResource("ic_menu_close_clear_cancel", android.R.drawable.ic_menu_close_clear_cancel), new ImageResource("ic_menu_compass", android.R.drawable.ic_menu_compass), new ImageResource("ic_menu_crop", android.R.drawable.ic_menu_crop), new ImageResource("ic_menu_day", android.R.drawable.ic_menu_day), new ImageResource("ic_menu_delete", android.R.drawable.ic_menu_delete), new ImageResource("ic_menu_directions", android.R.drawable.ic_menu_directions), new ImageResource("ic_menu_edit", android.R.drawable.ic_menu_edit), new ImageResource("ic_menu_gallery", android.R.drawable.ic_menu_gallery), new ImageResource("ic_menu_help", android.R.drawable.ic_menu_help), new ImageResource("ic_menu_info_details", android.R.drawable.ic_menu_info_details), new ImageResource("ic_menu_manage", android.R.drawable.ic_menu_manage), new ImageResource("ic_menu_mapmode", android.R.drawable.ic_menu_mapmode), new ImageResource("ic_menu_month", android.R.drawable.ic_menu_month), new ImageResource("ic_menu_more", android.R.drawable.ic_menu_more), new ImageResource("ic_menu_my_calendar", android.R.drawable.ic_menu_my_calendar), new ImageResource("ic_menu_mylocation", android.R.drawable.ic_menu_mylocation), new ImageResource("ic_menu_myplaces", android.R.drawable.ic_menu_myplaces), new ImageResource("ic_menu_preferences", android.R.drawable.ic_menu_preferences), new ImageResource("ic_menu_recent_history", android.R.drawable.ic_menu_recent_history), new ImageResource("ic_menu_report_image", android.R.drawable.ic_menu_report_image), new ImageResource("ic_menu_revert", android.R.drawable.ic_menu_revert), new ImageResource("ic_menu_rotate", android.R.drawable.ic_menu_rotate), new ImageResource("ic_menu_save", android.R.drawable.ic_menu_save), new ImageResource("ic_menu_search", android.R.drawable.ic_menu_search), new ImageResource("ic_menu_send", android.R.drawable.ic_menu_send), new ImageResource("ic_menu_set_as", android.R.drawable.ic_menu_set_as), new ImageResource("ic_menu_share", android.R.drawable.ic_menu_share), new ImageResource("ic_menu_slideshow", android.R.drawable.ic_menu_slideshow), new ImageResource("ic_menu_sort_alphabetically", android.R.drawable.ic_menu_sort_alphabetically), new ImageResource("ic_menu_sort_by_size", android.R.drawable.ic_menu_sort_by_size), new ImageResource("ic_menu_today", android.R.drawable.ic_menu_today), new ImageResource("ic_menu_upload", android.R.drawable.ic_menu_upload), new ImageResource("ic_menu_upload_you_tube", android.R.drawable.ic_menu_upload_you_tube), new ImageResource("ic_menu_view", android.R.drawable.ic_menu_view), new ImageResource("ic_menu_week", android.R.drawable.ic_menu_week), new ImageResource("ic_menu_zoom", android.R.drawable.ic_menu_zoom), new ImageResource("ic_notification_clear_all", android.R.drawable.ic_notification_clear_all), new ImageResource("ic_notification_overlay", android.R.drawable.ic_notification_overlay), new ImageResource("ic_partial_secure", android.R.drawable.ic_partial_secure), new ImageResource("ic_popup_disk_full", android.R.drawable.ic_popup_disk_full), new ImageResource("ic_popup_reminder", android.R.drawable.ic_popup_reminder), new ImageResource("ic_popup_sync", android.R.drawable.ic_popup_sync), new ImageResource("ic_search_category_default", android.R.drawable.ic_search_category_default), new ImageResource("ic_secure", android.R.drawable.ic_secure), new ImageResource("list_selector_background", android.R.drawable.list_selector_background), new ImageResource("menu_frame", android.R.drawable.menu_frame), new ImageResource("menu_full_frame", android.R.drawable.menu_full_frame), new ImageResource("menuitem_background", android.R.drawable.menuitem_background), new ImageResource("picture_frame", android.R.drawable.picture_frame), // new ImageResource("presence_audio_away", android.R.drawable.presence_audio_away), // new ImageResource("presence_audio_busy", android.R.drawable.presence_audio_busy), // new ImageResource("presence_audio_online", android.R.drawable.presence_audio_online), new ImageResource("presence_away", android.R.drawable.presence_away), new ImageResource("presence_busy", android.R.drawable.presence_busy), new ImageResource("presence_invisible", android.R.drawable.presence_invisible), new ImageResource("presence_offline", android.R.drawable.presence_offline), new ImageResource("presence_online", android.R.drawable.presence_online), // new ImageResource("presence_video_away", android.R.drawable.presence_video_away), // new ImageResource("presence_video_busy", android.R.drawable.presence_video_busy), // new ImageResource("presence_video_online", android.R.drawable.presence_video_online), new ImageResource("progress_horizontal", android.R.drawable.progress_horizontal), new ImageResource("progress_indeterminate_horizontal", android.R.drawable.progress_indeterminate_horizontal), new ImageResource("radiobutton_off_background", android.R.drawable.radiobutton_off_background), new ImageResource("radiobutton_on_background", android.R.drawable.radiobutton_on_background), new ImageResource("screen_background_dark", android.R.drawable.screen_background_dark), // new ImageResource("screen_background_dark_transparent", android.R.drawable.screen_background_dark_transparent), new ImageResource("screen_background_light", android.R.drawable.screen_background_light), // new ImageResource("screen_background_light_transparent", android.R.drawable.screen_background_light_transparent), new ImageResource("spinner_background", android.R.drawable.spinner_background), new ImageResource("spinner_dropdown_background", android.R.drawable.spinner_dropdown_background), new ImageResource("star_big_off", android.R.drawable.star_big_off), new ImageResource("star_big_on", android.R.drawable.star_big_on), new ImageResource("star_off", android.R.drawable.star_off), new ImageResource("star_on", android.R.drawable.star_on), new ImageResource("stat_notify_call_mute", android.R.drawable.stat_notify_call_mute), new ImageResource("stat_notify_chat", android.R.drawable.stat_notify_chat), new ImageResource("stat_notify_error", android.R.drawable.stat_notify_error), new ImageResource("stat_notify_missed_call", android.R.drawable.stat_notify_missed_call), new ImageResource("stat_notify_more", android.R.drawable.stat_notify_more), new ImageResource("stat_notify_sdcard", android.R.drawable.stat_notify_sdcard), // new ImageResource("stat_notify_sdcard_prepare", android.R.drawable.stat_notify_sdcard_prepare), new ImageResource("stat_notify_sdcard_usb", android.R.drawable.stat_notify_sdcard_usb), new ImageResource("stat_notify_sync", android.R.drawable.stat_notify_sync), new ImageResource("stat_notify_sync_noanim", android.R.drawable.stat_notify_sync_noanim), new ImageResource("stat_notify_voicemail", android.R.drawable.stat_notify_voicemail), new ImageResource("stat_sys_data_bluetooth", android.R.drawable.stat_sys_data_bluetooth), new ImageResource("stat_sys_download", android.R.drawable.stat_sys_download), new ImageResource("stat_sys_download_done", android.R.drawable.stat_sys_download_done), new ImageResource("stat_sys_headset", android.R.drawable.stat_sys_headset), new ImageResource("stat_sys_phone_call", android.R.drawable.stat_sys_phone_call), new ImageResource("stat_sys_phone_call_forward", android.R.drawable.stat_sys_phone_call_forward), new ImageResource("stat_sys_phone_call_on_hold", android.R.drawable.stat_sys_phone_call_on_hold), new ImageResource("stat_sys_speakerphone", android.R.drawable.stat_sys_speakerphone), new ImageResource("stat_sys_upload", android.R.drawable.stat_sys_upload), new ImageResource("stat_sys_upload_done", android.R.drawable.stat_sys_upload_done), // new ImageResource("stat_sys_vp_phone_call", android.R.drawable.stat_sys_vp_phone_call), // new ImageResource("stat_sys_vp_phone_call_on_hold", android.R.drawable.stat_sys_vp_phone_call_on_hold), new ImageResource("stat_sys_warning", android.R.drawable.stat_sys_warning), new ImageResource("status_bar_item_app_background", android.R.drawable.status_bar_item_app_background), new ImageResource("status_bar_item_background", android.R.drawable.status_bar_item_background), new ImageResource("sym_action_call", android.R.drawable.sym_action_call), new ImageResource("sym_action_chat", android.R.drawable.sym_action_chat), new ImageResource("sym_action_email", android.R.drawable.sym_action_email), new ImageResource("sym_call_incoming", android.R.drawable.sym_call_incoming), new ImageResource("sym_call_missed", android.R.drawable.sym_call_missed), new ImageResource("sym_call_outgoing", android.R.drawable.sym_call_outgoing), new ImageResource("sym_contact_card", android.R.drawable.sym_contact_card), new ImageResource("sym_def_app_icon", android.R.drawable.sym_def_app_icon), new ImageResource("title_bar", android.R.drawable.title_bar), new ImageResource("title_bar_tall", android.R.drawable.title_bar_tall), new ImageResource("toast_frame", android.R.drawable.toast_frame), new ImageResource("zoom_plate", android.R.drawable.zoom_plate), }; /** * 表示するイメージの名前とIDを持つクラス */ private class ImageResource { private final String name; private final int id; public ImageResource(String name, int id) { this.name = name; this.id = id; } } }
row_03.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/iconImageView" android:layout_width="25sp" android:layout_height="25sp" android:layout_marginRight="5sp" /> <TextView android:id="@+id/textImageView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="0dp" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout>