它是对this question的补充。

我可以启动“ Activity ”,但也需要获得结果。我该怎么做?

我试图在我的PreferencesActivity上覆盖onActivityResult无效。

我是否在preferences.xml中缺少一些额外的属性?

最佳答案

我知道,最干净的解决方案是听取对首选项的单击并显式启动意图。这样onActivityResult将照常被调用。

假设您的意图首选项是用XML定义的,则可以像这样附加一个监听器(其中1234onActivityResult的请求代码):

Preference pref = (Preference) findPreference("prefKey");
pref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
  @Override
  public boolean onPreferenceClick(Preference preference) {
    startActivityForResult(preference.getIntent(), 1234);
    return true;
  }
});

关于android - 从preferences.xml启动Activity并在onActivityResult中获得结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9545248/

10-12 03:49