我试图用res/anim文件夹的内容填充一个ListPreference,但我有一个问题,它一直是空白的,我有一个静态的字符串数组来填充它,这是可行的,但我需要它是动态的,我可以打印出日志中的文本,它只是不填充列表,你能帮我吗?
PreferenceActivityMenu.java
CharSequence[] entries = null;
CharSequence[] entryValues = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
SharedPreferences prefs=getPreferences(Context.MODE_PRIVATE);
ListPreference prefListAnim = new ListPreference(this);
listAnim();
prefListAnim.setEntries(entries);
prefListAnim.setEntryValues(entryValues);
}
@Override
public boolean onPreferenceClick(Preference preference) {
// TODO Auto-generated method stub
return false;
}
public void listAnim() {
Field[] fields = R.anim.class.getFields();
entries = new String[fields.length];
entryValues = new String[fields.length];
for (int count = 0; count < fields.length; count++) {
Log.i("Raw Asset: ", fields[count].getName());
entries[count] = fields[count].getName();
entryValues[count] = Integer.toString(count);
}
}和preference.xml
<PreferenceCategory android:title="Animation Transitions" >
<ListPreference
android:dialogTitle="@string/prefsList_dialogTitle"
android:key="prefList_animations"
android:summary="@string/prefsList_summary"
android:title="@string/prefsList_title" >
</ListPreference>
</PreferenceCategory>谢谢你的帮忙
发布于 2012-07-25 03:33:32
您正在将列表数据设置为与xml中声明的首选项不同的首选项。当前,您正在根据新创建的ListPreference设置数据
ListPreference prefListAnim = new ListPreference(this);但是,您显示的是在xml中声明的(空)。你应该做一个或另一个。例如,最简单的解决方案可能是更改上面的内容,以增加来自xml的首选项:
ListPreference prefListAnim = (ListPreference) findPreference("prefList_animations");https://stackoverflow.com/questions/11635329
复制相似问题