Я нуждаюсь в помощи в получении результатов назад от намерения, запущенного с предпочтительного экрана
// 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);
Я хочу, чтобы пользователь выбрал устройство... На предпочтительном экране я показываю "Избранное Устройство".. когда пользователь нажимает это, другой экран запускается намеренно, где все устройства перечислены. Пользователь выбирает устройство.
Теперь, как я знаю пользователя, выбранного который устройство? И я хочу обновить это в сводке.
. сообщите мне Спасибо
Я получил ответ. Надеюсь, это поможет кому-то вроде меня ...
Не упоминайте намерение при создании предпочтений, как я сделал в приведенном выше коде. Упомяните намерение на 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);
Затем создайте 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;
}
};
Наконец, чтобы получить дескриптор результата 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();
}
}
}
}
Спасибо