最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程之ListPreference用法實(shí)例分析

 更新時(shí)間:2015年12月04日 09:45:10   作者:馬到成功168855  
這篇文章主要介紹了Android編程之ListPreference用法,結(jié)合實(shí)例形式較為詳細(xì)的分析說(shuō)明了ListPreference的功能、用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Android編程之ListPreference用法。分享給大家供大家參考,具體如下:

先展示一下效果圖,如下所示:

項(xiàng)目代碼如下:

package com.my.listpreference;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceActivity;
public class ListPreferenceTest extends PreferenceActivity implements OnPreferenceChangeListener{
  /** Called when the activity is first created. */
 ListPreference lp;//創(chuàng)建一個(gè)ListPreference對(duì)象
 @Override
 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //過(guò)濾已經(jīng)的XML文件資源,并將當(dāng)前的preference層添加到這個(gè)preference層當(dāng)中 
    addPreferencesFromResource(R.xml.preference);
    //初始化這個(gè)ListPreference對(duì)象
    lp=(ListPreference)findPreference(getString(R.string.key_str));
    //設(shè)置獲取ListPreference中發(fā)生的變化 
    lp.setOnPreferenceChangeListener(this);
    /**讓ListPreference中的摘要內(nèi)容(即summary)顯示為當(dāng)前ListPreference中的實(shí)體對(duì)應(yīng)的值
     * 這個(gè)方法的作用是為了當(dāng)下一次打開(kāi)這個(gè)程序時(shí)會(huì)顯示上一次的設(shè)置的summary(摘要)
     * 如果沒(méi)有添加這個(gè)方法,當(dāng)再次打開(kāi)這個(gè)程序時(shí),它將不會(huì)顯示上一次程序設(shè)置的值,而
     * 是顯示默認(rèn)值*/
    lp.setSummary(lp.getEntry());
 }
 //讓所選擇的項(xiàng)顯示出來(lái),獲取變化并顯示出來(lái)
 @Override
 public boolean onPreferenceChange(Preference preference, Object newValue) {
 // TODO Auto-generated method stub
 if(preference instanceof ListPreference){
  //把preference這個(gè)Preference強(qiáng)制轉(zhuǎn)化為L(zhǎng)istPreference類型
  ListPreference listPreference=(ListPreference)preference;
  //獲取ListPreference中的實(shí)體內(nèi)容
  CharSequence[] entries=listPreference.getEntries();
  //獲取ListPreference中的實(shí)體內(nèi)容的下標(biāo)值
  int index=listPreference.findIndexOfValue((String)newValue);
  //把listPreference中的摘要顯示為當(dāng)前ListPreference的實(shí)體內(nèi)容中選擇的那個(gè)項(xiàng)目
  listPreference.setSummary(entries[index]);
 }
 return true;
 }
}

res.values.strings.xml中的內(nèi)容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="hello">Hello World, ListPreferenceTest!</string>
  <string name="app_name">ListPreferenceTest</string>
  <string name="key_str">key</string>
  <string name="title_str">你最喜歡的蔬菜</string>
  <string name="title_listpreference">選擇蔬菜</string>
  <string-array name="entries_str">
    <item >白菜</item>
    <item >蘿卜</item>
    <item >豆芽</item>
    <item >芹菜</item>
  </string-array>
  <string-array name="entries_values_str">
    <item >baicai</item>
    <item >luobu</item>
    <item >douya</item>
    <item >qincai</item>
  </string-array>
  <string name="default_str">baicai</string>
  <string name="dialog_title">請(qǐng)選擇你喜歡的蔬菜</string>
  <string name="summary_str">白菜</string>
</resources>

res.xml.preference.xml中的內(nèi)容如下:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
  <PreferenceCategory android:title="@string/title_str">
    <ListPreference 
      android:key="@string/key_str"
      android:title="@string/title_listpreference"
      android:entries="@array/entries_str"
      android:entryValues="@array/entries_values_str"
      android:dialogTitle="@string/dialog_title"
      android:defaultValue="@string/default_str"
      android:summary="@string/summary_str"
      />
  </PreferenceCategory>
</PreferenceScreen>

上述程序中需要注意的事項(xiàng)

1.必須要有android:entryValues="@array/entries_values_str"與android:entries="@array/entries_str"相對(duì)應(yīng)

2.android:defaultValue="@string/default_str"中的default_str必須為entries_str中的一個(gè)選項(xiàng)

3.lp=(ListPreference)findPreference(getString(R.string.key_str));這里的獲取的字符串的內(nèi)容必須為key_str,否則會(huì)出來(lái)NullPointException的錯(cuò)誤(即初始化不成功的錯(cuò)誤)。因?yàn)閍ndroid:key="@string/key_str"相當(dāng)于android:id=""

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

同江市| 水富县| 普格县| 陇川县| 德令哈市| 怀化市| 呼玛县| 黄石市| 化隆| 庆阳市| 应城市| 崇文区| 济源市| 理塘县| 新和县| 太谷县| 闽侯县| 陕西省| 德昌县| 中江县| 武鸣县| 云南省| 澄城县| 铜梁县| 拉萨市| 南雄市| 桃源县| 会东县| 启东市| 泰顺县| 嘉定区| 博野县| 景泰县| 萨迦县| 尼玛县| 鄂托克前旗| 旌德县| 剑河县| 东阿县| 隆德县| 怀集县|