首选项中的列表视图项

A listview item in preferences

我是 Android 应用程序开发的新手!我正在开发一个带有设置的应用程序。我想按类别划分设置(例如 android 系统设置)。我找到了偏好,尤其是本指南:http://android-journey.blogspot.it/2010/01/for-almost-any-application-we-need-to.html 所以我创建了 activity 和 xml 文件,没问题。但是我想添加一个像 listview 这样的项目,当我触摸它时,它会打开另一个 activity。可以吗?

您应该创建带有首选项的设置 - "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 偏好,例如

更新: 它不是列表视图或列表项,它是标准首选项,在 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