首选项中的列表视图项

时间:2015-01-11 13:48:56

标签: android listview preferences

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

1 个答案:

答案 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偏好 example screenshots

<强>更新 它不是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中添加意图定义