一、目标
JumpToPreferenceActivity.java跳转到MyPreferenceActivity.java.
MyPreferenceActivity.java是应用设置Activity.
因为要和另一个项目关联,所以用了Intent,这里Intent纯粹鸡肋,关键是PreferenceActivity的使用。
二、工程文件结构
JumpToPreferenceActivity.java引用main.xml;
MyPreferenceActivity.java引用setting.xml;
setting.xml中的ListPreference引用/res/values/array.xml中的string-array
三、JumpToPreferenceActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
| package com.lucux.prefrence;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;
publicclass JumpToPreferenceActivity extends Activity{ publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button jumpToPrefrenceBtn = (Button)findViewById(R.id.jumpToPrefrenceBtn); jumpToPrefrenceBtn.setOnClickListener(new JumpToPrefOnClickListener()); } publicclass JumpToPrefOnClickListener implements OnClickListener {
@Override publicvoid onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass( JumpToPreferenceActivity.this,MyPreferenceActivity.class ); JumpToPreferenceActivity.this.startActivity( intent ); } } }
|
四、MyPreferenceActivity.java
1 2 3 4 5 6 7 8 9 10 11 12 13
|
| package com.lucux.prefrence;
import android.os.Bundle; import android.preference.PreferenceActivity;
publicclass MyPreferenceActivity extends PreferenceActivity { /** Called when the activity is first created. */ @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.setting); } }
|
五、AndroidManifest.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
| <?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="com.lucux.prefrence" android:versionCode="1" android:versionName="1.0">
<uses-sdkandroid:minSdkVersion="8"/>
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name"> <activity android:name=".JumpToPreferenceActivity" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN" />
<categoryandroid:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MyPreferenceActivity"> </activity> </application>
</manifest>
|
六、mail.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
| <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"/> <Button android:id="@+id/jumpToPrefrenceBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="跳转到设置"/> </LinearLayout>
|
七、/res/xml/setting.xml
ListPreference中的属性
android:entries="@array/entries_repeat" 显示给用户的内容
android:entryValues="@array/entriesvalue_repeat" 实际传给java代码的值
在/res/values/array.xml中定义
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
| <?xmlversion="1.0"encoding="utf-8"?> <PreferenceScreenxmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategoryandroid:title="提醒设置"> <CheckBoxPreference android:key="setVibrate" android:title="振动" android:summaryOn="开启" android:summaryOff="关闭" android:defaultValue="true" /> <CheckBoxPreference android:key="setRingtone" android:title="铃声" android:summaryOn="开启" android:summaryOff="关闭" android:defaultValue="true" /> <RingtonePreference android:key="chooseRingtone" android:title="选择铃声" android:summary="还书提醒铃声" /> </PreferenceCategory> <PreferenceCategoryandroid:title="再响设置"> <ListPreference android:key="setRepeat" android:title="再响" android:summary="选择几天后再次提醒" android:dialogTitle="选择几天后再次提醒" android:entries="@array/entries_repeat" android:entryValues="@array/entriesvalue_repeat" /> </PreferenceCategory>
<PreferenceCategoryandroid:title="期限设置"> <ListPreference android:key="setDeadline" android:title="还书期限" android:summary="系统会在期限时间后提醒您还书" android:dialogTitle="选择还书期限" android:entries="@array/entries_deadline" android:entryValues="@array/entriesvalue_deadline" /> </PreferenceCategory> </PreferenceScreen>
|
八、array.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
| <?xmlversion="1.0"encoding="utf-8"?> <resources> <string-arrayname="entries_repeat"> <item>1天</item> <item>2天</item> <item>3天</item> <item>4天</item> <item>5天</item> <item>6天</item> <item>7天</item> <item>8天</item> <item>9天</item> <item>10天</item> </string-array> <string-arrayname="entriesvalue_repeat"> <item>1</item> <item>2</item> <item>3</item> <item>4</item> <item>5</item> <item>6</item> <item>7</item> <item>8</item> <item>9</item> <item>10</item> </string-array>
<string-arrayname="entries_deadline"> <item>10天</item> <item>20天</item> <item>30天</item> <item>40天</item> <item>50天</item> <item>60天</item> <item>70天</item> <item>80天</item> <item>90天</item> <item>100天</item> </string-array> <string-arrayname="entriesvalue_deadline"> <item>10</item> <item>20</item> <item>30</item> <item>40</item> <item>50</item> <item>60</item> <item>70</item> <item>80</item> <item>90</item> <item>100</item> </string-array> </resources>
|
九、效果图
优质内容筛选与推荐>>
1、cookie标准话2、C++ readdir、readdir_r函数3、《OpenGL编程指南》示例笔记--序4、HDU1686 KMP模板5、函数式编程语言
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
阅读
好看
已推荐到看一看
你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
取消
分享想法到看一看
确定
最多200字,当前共字
微信扫一扫
关注该公众号