activity的子类使用:launcheractivity和preferenceactivity

首先 launcherActivity是 ListActivity的子类,因此使用大同小异,只不过此类多了一个方法,可以用来跳转到不页面。

public class Intentactivity extends LauncherActivity {
	//打算跳转的2个类。
	private Class<?>[] classset={Pretest.class,Index.class};

	@Override
	protected void onCreate(Bundle icicle) {
		// TODO Auto-generated method stub
		super.onCreate(icicle);
		ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, new String[]{"系统参数设置","啥都没有的"});
		setListAdapter(adapter);	
		
	}
	//一般重写这个方法,点击对应的item就会跳转到对应的activity上
	@Override
	protected Intent intentForPosition(int position) {
		
		return new Intent(this,classset[position]);
	}
}


preferenceactivity一般用来进行选项设置,会以参数的形式保存数据,如果学过sharedpreference这个类用来保存数据的话,这里距更好理解了。

如果一个类继承了preferenceactivity,那么这个activity就完全不用管preference的多写,preferenceactivity会自动为我们处理好。

说明下,preferenceactivity的界面布局文件不是平时的layout。而是新建一个类型为preference,根元素为preferenceScreen的布局文件,一般位于res/xml/xxxx.xml下。。xxxx为文件名字

布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
    <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="测试下preferenceScreen" android:summary="@string/pre">
        <RingtonePreference 
            android:summary="选择铃声" 
            android:title="设置铃声"
            android:showDefault="true"
            android:key="ring_key"
            android:showSilent="true"
            />
        <PreferenceCategory android:title="个人信息设置">
            <EditTextPreference 
                android:key="name" 
                android:dialogTitle="你所使用的用户名为:" 
                android:summary="填写你的用户名" 
                android:title="填写用户名"/>
            <ListPreference 
                android:title="性别" 
                android:dialogTitle="ListPreference" 
                android:summary="请选择你的性别:" 
                android:key="gender"
                android:entryValues="@array/gender_value" 
                android:entries="@array/gender_name"/>
        </PreferenceCategory>
        <PreferenceCategory android:title="系统功能设置">
            <CheckBoxPreference 
                android:defaultValue="true" 
                android:title="自动保存进度" 
                android:summaryOn="自动保存:开启" 
                android:key="autosave" 
                android:summaryOff="自动保存:关闭"/>
        </PreferenceCategory>
    </PreferenceScreen>


下图有对应的效果图,自己对比看看每个属性对应的是啥意思。。

对应的activity很简单,就需要一行代码就行。。如下

public class Pretest extends PreferenceActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.preferencedemo);
	}
}


 

补充说明下,上边的代码中引用了2个数组。新建一个xml文件,类型选择 values。根元素选择resources,代码如下

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="gender_name">
        <item >男</item>
        <item >女</item>
    </string-array>
    <string-array name="gender_value">
        <item >男人</item>
        <item >女人</item>
    </string-array>
    
</resources>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值