我需要從按鈕點擊或以其他方式從PreferenceActivity啓動新的活動。可能嗎?如何做到這一點?如何從PreferenceActivity調用Activity?
0
A
回答
6
您可以從PreferenceActivity
開始另一個Activity
,就像這樣做的標準方式。例如:
Intent testIntent = new Intent(getApplicationContext(), Activity2.class);
startActivity(testIntent);
首先,在你的XML定義一個偏好:
<Preference
android:key="test_pref"
android:summary="@string/someDescription"
android:title="Some Random Title" >
</Preference>
在你PreferenceActivity
:
Preference pref = findPreference("test_pref");
shareSociallyYou.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent testIntent = new Intent(getApplicationContext(), Activity2.class);
startActivity(testIntent);
return true;
}
});
3
這應該工作
Preference preference = findPreference("Your Preference Key");
preference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent intent = new Intent(getApplicationContext(), YourActivity.class);
startActivity(intent);
return true;
}
});
這應該是在OnCreate或相似。
1
您可以設置的意圖,如XML優先行動爲好。只需添加到您的偏好XML:
<PreferenceScreen android:key="KEY" android:title="DOYOURWORK">
<intent android:targetClass="com.yourcompany.app.youractivity"
android: targetPackage="com.yourcompany.app">
<extra android:name="EXTRA_KEY" android:value="yourValue" />
</intent>
</PreferenceScreen>
現在棘手的部分我想和大家分享: XML屬性android:targetPackage
在<intent>
節點是指你的應用程序包,不是Java包! 所以只要你在你的應用程序中工作,而不是調用外部意圖,你只需要聲明你的應用程序包,而不管你的應用程序項目中的活動類是哪個包。
我希望這可以幫助,我找不到任何文檔關於這個東西,只是在網絡上的用戶張貼。
相關問題
- 1. 如何從PreferenceActivity調用特定的PreferenceFragment?
- 2. 如何從調用Activity獲取「調用」Activity實例?
- 3. 離開PreferenceActivity,調用Activity仍然讀取舊的偏好?
- 4. 如何從Activity/Fragment調用ViewHolder方法
- 5. 如何從TabHost中的Activity調用FragmentActivity?
- 6. 如何從服務調用Activity的onNewIntent()
- 7. 如何從另一個Activity類調用Activity類方法
- 8. OnTouchListener on Activity從不調用
- 9. onActivityResult()未從Activity中調用
- 10. 如何從PreferenceCategory在PreferenceActivity
- 11. 如何從PreferenceActivity獲取getFragmentManager
- 12. 如何從PreferenceActivity獲取SharedPreferences
- 13. 從PreferenceActivity
- 14. PreferenceActivity調試
- 15. 如何從其他Activity或服務調用一個Activity的功能?
- 16. 如何PreferenceActivity
- 17. 如何在不擴展Activity的Activity的情況下調用startActivityOnResult?
- 18. 可以從Android的JavascriptInterface調用Activity嗎?
- 19. 從IntentService類中調用Activity的問題
- 20. 從customadapter調用其他Activity/CustomAdapter
- 21. Android:如何從子定製視圖調用父Activity方法?
- 22. 如何從Android中的Activity調用Fragment中的方法?
- 23. 如何從Activity調用非靜態方法?
- 24. 如何從HomeScreen Widget的Activity中調用函數
- 25. 如何在Android中從外部庫調用Activity方法
- 26. 如何從android的另一個activity類調用google map類?
- 27. 如何從Activity中調用外部類的方法?
- 28. 如何從PreferenceActivity中刪除偏好?
- 29. Android - onConfigurationChanged()在暫停之前調用Activity之前調用Activity
- 30. Android偏好設置:保存在Activity或PreferenceActivity中
shareSociallyYou pref right –