我是Android应用开发的新手!我正在开发一个带有设置的应用程序。我想在类别中划分设置(例如在android系统设置中)。我找到了偏好设置,特别是本指南:http://android-journey.blogspot.it/2010/01/for-almost-any-application-we-need-to.html 所以我创建了我的活动和xml文件,没问题。但我想添加像listview这样的项目,当我触摸它时,它会打开另一个活动。有可能吗?
答案 0 :(得分:1)
您应该使用偏好设置创建设置 - 您的" listview"并为它们设置操作:对您的其他设置活动的意图。
private void createRateAppPrefListener() {
Intent marketIntent = getMarketIntent(mContext);
String rateAppKey = getString(R.string.pref_rate_app_key);
Preference rateAppPref = findPreference(rateAppKey);
if (rateAppPref != null) {
rateAppPref.setIntent(marketIntent);
}
}
private Intent getMarketIntent(Context context) {
String appPackageName = context.getPackageName();
Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName));
marketIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
return marketIntent;
}
不久
Intent intent = ...
Preference pref = findPreference(getString(R.string.your_pref_key));
pref.setIntent(intent);
例如,Youtube偏好
<强>更新强> 它不是listview或listitem,它是标准首选项,在xml文件中定义
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<Preference
android:key="@string/pref_rate_app_key"
android:summary="@string/pref_rate_app_summary"
android:title="@string/pref_rate_app_title" />
...
但它可以更简单
<Preference
android:summary="@string/pref_licenses_summary"
android:title="@string/pref_licenses_title">
<intent android:action="com.mdhelper.cardiojournal.view.activities.LicensesActivity" />
</Preference>
只需在您的首选项xml中添加意图定义