您好,感谢您的帮助,
我有以下情况。
在我的应用程序中,我使用 PreferenceActivity 来显示和允许更改设置,我们称它为 PreferenceActivity A。
如果用户选择了一个特定的首选项,则会启动一个新的 Activity,我们将其称为 Activity B(A 不会被销毁)。
我需要做的是在Activity B中调用PreferenceActivity A form的一个方法。
请注意:PreferenceActivity A 中的方法不能是静态的。
非常感谢任何帮助。
编辑编辑编辑编辑编辑编辑
Activty B 是这样启动的: 当用户点击 PreferenceActivity A 屏幕中的相应项目时,将触发 Intent 。
<PreferenceScreen
android:key="addstocks"
android:summary="Click here to add stocks"
android:title="Add stocks" >
<intent
android:targetClass="com.stocktickerwidget.QuotesActivity"
android:targetPackage="com.stocktickerwidget" />
最佳答案
不是像那样启动 Activity ,而是在首选项上手动设置 OnPreferenceClickListener 并使用 startActivityForResult()
。
private static final int RESUEST_CODE = 1;
protected void onCreate() {
/* ... */
Preference pref = getPreferenceManager().findPreference("addstocks");
pref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference() {
if (preference.getKey().equals("addstocks") {
startActivityB();
return true;
}
return false;
}
});
}
private void startActivityB() {
Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent, REQUEST_CODE);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
// do something here
}
}
关于android - 从另一个 Activity 调用我的 PreferenceActivity Activity 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15836645/