欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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類(lèi)型
  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)文章

  • 舉例講解Android應(yīng)用中SimpleAdapter簡(jiǎn)單適配器的使用

    舉例講解Android應(yīng)用中SimpleAdapter簡(jiǎn)單適配器的使用

    這篇文章主要介紹了Android應(yīng)用中SimpleAdapter簡(jiǎn)單適配器的使用例子,SimpleAdapter經(jīng)常在ListView被使用,需要的朋友可以參考下
    2016-04-04
  • Android實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)功能

    Android實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Flutter實(shí)現(xiàn)二維碼掃描

    Flutter實(shí)現(xiàn)二維碼掃描

    這篇文章主要為大家詳細(xì)介紹了Flutter實(shí)現(xiàn)二維碼掃描,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Android學(xué)習(xí)筆記--Activity中使用Intent傳值示例代碼

    Android學(xué)習(xí)筆記--Activity中使用Intent傳值示例代碼

    Intent負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作涉及數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,Android則根據(jù)此Intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用
    2013-06-06
  • Android開(kāi)發(fā)之DOM解析xml文件的方法

    Android開(kāi)發(fā)之DOM解析xml文件的方法

    這篇文章主要介紹了Android開(kāi)發(fā)之DOM解析xml文件的方法,涉及Android中DOM工廠(chǎng)對(duì)象的創(chuàng)建,文檔的獲取及節(jié)點(diǎn)的遍歷技巧,需要的朋友可以參考下
    2015-12-12
  • Android中Image的簡(jiǎn)單實(shí)例詳解

    Android中Image的簡(jiǎn)單實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了Android中Image的簡(jiǎn)單實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android app本地切換logo和名稱(chēng)

    Android app本地切換logo和名稱(chēng)

    大家好,本篇文章主要講的是Android app本地切換logo和名稱(chēng),感興趣的同學(xué)趕快來(lái)看一看,對(duì)你有幫助的話(huà)記得收藏一下
    2022-02-02
  • RxJava入門(mén)之介紹與基本運(yùn)用

    RxJava入門(mén)之介紹與基本運(yùn)用

    對(duì)于Android開(kāi)發(fā)者來(lái)說(shuō),當(dāng)有一天打開(kāi)技術(shù)論壇、博客滿(mǎn)屏都是各種Rx的時(shí)候,心里是很慌的。所以趁著現(xiàn)在跟著小編通過(guò)這篇文章先來(lái)簡(jiǎn)單認(rèn)識(shí)下RxJava,以及RxJava的基本運(yùn)用。對(duì)這感興趣的朋友下面來(lái)一起看看吧。
    2016-09-09
  • Android編程中EditText限制文字輸入的方法

    Android編程中EditText限制文字輸入的方法

    這篇文章主要介紹了Android編程中EditText限制文字輸入的方法,涉及Android針對(duì)EditText的監(jiān)聽(tīng)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Android Studio如何查看源碼并調(diào)試的方法步驟

    Android Studio如何查看源碼并調(diào)試的方法步驟

    這篇文章主要介紹了Android Studio如何查看源碼并調(diào)試的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論