Android之数据存储共享参数实现系统设置操作功能(二)

新建工程Android_data_settings选中API11:Android3.0(HoneyComb)

在res新建文件夹xml中创建mysetting.xml文件:New Android XML File->Resource Type 中选中Preference,File命名为mysettings.xml点击next->finsh

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
    
      <!-- 设置的类别 -->
    <PreferenceCategory
        android:key="mylocation"
        android:summary="我的位置"
        android:title="我的位置源" >
        <CheckBoxPreference
            android:key="wireless_network"
            android:summary="使用无线网络查看应用程序(例如Google地图)中的位置"
            android:title="使用无线网络" />
        <CheckBoxPreference
            android:key="gps_satellite_setting"
            android:summary="定位时,精确到街道级别(取消选择可节约电量)"
            android:title="启用GPS卫星设置" />
    </PreferenceCategory>
    <PreferenceCategory
        android:key="mymessage"
        android:summary="个人信息设置"
        android:title="个人信息设置" >
        <CheckBoxPreference
            android:key="yesno_save_individual_info"
            android:title="是否保存个人信息" />

        <EditTextPreference
            android:key="individual_name"
            android:summary="请输入真实姓名"
            android:title="姓名 " />

        <ListPreference
            android:entries="@array/citys"
            android:entryValues="@array/citys"
            android:key="mycity"
            android:summary="所属城市"
            android:title="所属城市" />
    </PreferenceCategory>

</PreferenceScreen>


strings.xml代码

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Android_data_settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>

    <string-array name="citys">
        <item>北京</item>
        <item>上海</item>
        <item>广州</item>
    </string-array>
    
    
</resources>

MainActivity.java代码

package com.example.android_data_settings;

import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.Preference;
import android.preference.PreferenceScreen;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends PreferenceActivity implements OnPreferenceChangeListener {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		getPreferenceManager().setSharedPreferencesName("mysettings");
		addPreferencesFromResource(R.xml.mysettings);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	@Override
	public boolean onPreferenceChange(Preference arg0, Object arg1) {
		// TODO Auto-generated method stub
		return false;
	}
	
	@Override
	public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
			Preference preference) {
		// TODO Auto-generated method stub
		if ("yesno_save_individual_info".equals(preference.getKey())) {
			Toast.makeText(MainActivity.this, "hello", 1).show();
			CheckBoxPreference checkBoxPreference = (CheckBoxPreference) findPreference("yesno_save_individual_info");
			EditTextPreference editTextPreference = (EditTextPreference) findPreference("individual_name");
			editTextPreference.setEnabled(checkBoxPreference.isChecked());
		}
		return super.onPreferenceTreeClick(preferenceScreen, preference);
	}
}


运行效果图


当勾选了是否保存个人信息,下面的姓名一栏就可以输入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值