Nir*_*tel 7 android android-preferences preferencescreen
我正在进行自定义PreferenceScreen,我已经使用设置页面创建了自定义屏幕PreferenceActivity.
以下是我的偏好屏幕.

问题: - 我需要动态更改下载数据的徽章.我按照这个问题来实现这个布局.我已经尝试过这个问题的所有答案,但没有单独回答.
有没有其他方法可以找到哪个内部偏好?
的settings.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<Preference android:title="@string/settings_user_profile" android:key="user_profile" android:summary="@string/settings_user_profile_desc" android:layout="@layout/setting_list"></Preference>
<Preference android:title="@string/settings_download" android:key="download_data" android:summary="@string/settings_download_desc" android:layout="@layout/setting_list"></Preference>
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
您可以子类化Preference、覆盖onBindDialogView()- 只需记住更改 XML<Preference...>以包含您的包和类<com.example.app.BadgedPreference...>:
@Override
protected void onBindDialogView(View v) {
super.onBindDialogView(v);
Log.v( "onBindDialogView()", v.getClass().getSimpleName() );
}
Run Code Online (Sandbox Code Playgroud)
如果您BadgedPreference有处理更改的方法,您可以更轻松地使用它 - 从您的PreferenceActivity:
PreferenceScreen myPrefScreen = (PreferenceScreen)getPreferenceScreen();
BadgedPreference bp = (BadgedPreference)myPrefScreen.findPreference("download_data");
// Custom method
bp.setBadgeValue(12);
Run Code Online (Sandbox Code Playgroud)
更简单的是,您可以使用标准Preference,只需将其摘要字段设置为“徽章”,然后您可以使用包含的摘要字段设置值:
Preference pref = (Preference)myPrefScreen.findPreference("download_data");
pref.setSummary("12");
Run Code Online (Sandbox Code Playgroud)
如果您有任何疑问,请告诉我。
| 归档时间: |
|
| 查看次数: |
3762 次 |
| 最近记录: |