一、参数布局设置
会自动保存/data/data/包名/share_refers中
public class PreferenceActivityTest extends PreferenceActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// 设置显示参数设置布局。
addPreferencesFromResource(R.xml.preferences);
}
}
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 设置系统铃声 -->
<RingtonePreference android:ringtoneType="all"
android:title="设置铃声"
android:summary="选择铃声(测试RingtonePreference)"
android:showDefault="true"
android:key="ring_key"
android:showSilent="true">
</RingtonePreference>
<PreferenceCategory android:title="个人信息设置zu">
<!-- 通过输入框填写用户名 -->
<EditTextPreference
android:key="name"
android:title="填写用户名"
android:summary="填写您的用户名(测试EditTextPreference)"
android:dialogTitle="您所使用的用户名为:"
/>
<!-- 通过列表框选择性别 -->
<ListPreference
android:key="gender"
android:title="性别"
android:summary="选择您的性别(测试ListPreference)"
android:dialogTitle="ListPreference"
android:entries="@array/gender_name_list"
android:entryValues="@array/gender_value_list"
/>
</PreferenceCategory>
<PreferenceCategory android:title="系统功能设置组 ">
<CheckBoxPreference
android:key="autoSave"
android:title="自动保存进度"
android:summaryOn="自动保存: 开启"
android:summaryOff="自动保存: 关闭"
android:defaultValue="true"
/>
</PreferenceCategory>
</PreferenceScreen>
二、启动Activity
/获取启动当前Activity的上一个Intent
Intent intent = new Intent(SecondActivity.this
, StartActivity.class);
//启动intent对应的Activity
startActivity(intent);
三、使用Bunder在不同Activity交换数据
发送数据
Person p = new Person(name.getText().toString()
, passwd.getText().toString() , gender);
//创建一个Bundle对象
Bundle data = new Bundle();
data.putSerializable("person", p);
//创建一个Intent
Intent intent = new Intent(BundleTest.this
, ResultActivity.class);
intent.putExtras(data);
//启动intent对应的Activity
startActivity(intent);
另一个接受数据
/获取启动当前Activity的上一个Intent
Intent intent = new Intent(SecondActivity.this
, StartActivity.class);
//启动intent对应的Activity
startActivity(intent);
四、启动其他Activity返回结果
//重写该方法,该方法以回调的方式来获取指定Activity返回的结果
@Override
public void onActivityResult(int requestCode , int resultCode
, Intent intent)
{
//当requestCode、resultCode同时为0,也就是处理特定的结果
if (requestCode == 0
&& resultCode == 0)
{
//取出Intent里的Extras数据
Bundle data = intent.getExtras();
//取出Bundle中的数据
String resultCity = data.getString("city");
//修改city文本框的内容
city.setText(resultCity);
}
}
//获取启动该Activity之前的Activity对应的Intent
Intent intent = getIntent();
Bundle data = new Bundle();
data.putString("city" ,cities[groupPosition][childPosition]);
intent.putExtras(data);
// 设置该SelectActivity的结果码,并设置结束之后退回的Activity
SelectCityActivity.this.setResult(0 , intent);
//结束SelectCityActivity。
SelectCityActivity.this.finish();
五、Activity生命周期