nav*_*een 7 android android-preferences
从首选项屏幕启动的意图中我需要帮助来确定结果
// Intent preference
DevicePref =
getPreferenceManager().createPreferenceScreen(this);
// Show a Screen with list of Devices Discovered
Intent i = new Intent(this,getDevice.class);
DevicePref.setIntent(i);
DevicePref.setTitle("Select Device");
DevicePref.setSummary(mSelectedDevice);
deviceOptionsCat.addPreference(DevicePref);
Run Code Online (Sandbox Code Playgroud)
我希望用户选择设备...在偏好屏幕中我显示"选择设备"..当用户点击它时,另一个屏幕按意图启动,其中列出了所有设备.用户选择设备.
现在我怎么知道用户选择了哪个设备?我想在摘要中更新它.
PLS.让我知道谢谢
我得到了答案,希望它会帮助像我这样的人......
在创建首选项时不要像我在上面的代码中那样提及意图.提到OnPreferenceClickListener的意图,然后执行StartActivityForResult()
// Intent preference
DevicePref = getPreferenceManager().createPreferenceScreen(this);
// Show a Screen with list of Devices Discovered
DevicePref.setOnPreferenceClickListener(onPreferenceClick);
DevicePref.setTitle("Select Device");
DevicePref.setSummary(mSelectedDevice);
deviceOptionsCat.addPreference(DevicePref);
Run Code Online (Sandbox Code Playgroud)
然后创建OnPreferenceClickListner,这里做StartActivityFromResult()
OnPreferenceClickListener onPreferenceClick = new Preference.OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
if (preference ==DevicePref )
{
Intent i = new Intent(DevuiceOptions.this,getDevice.class);
DevicePref.setIntent(i);
startActivityForResult(i,CHOOSE_DEVICE);
}
return true;
}
};
Run Code Online (Sandbox Code Playgroud)
最后获取结果句柄onActivityResult并更新Summary字段.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch (requestCode) {
case Constants.CHOOSE_DEVICE:
{
if (data!=null )
{
Bundle b = data.getExtras();
mSelectedDevice = (String) b.get("Name");
UpdatePreferences();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
| 归档时间: |
|
| 查看次数: |
5274 次 |
| 最近记录: |