我想改变列表首选项的列表条目和入口值。好吧,最后它工作,列表更改,但问题是,只有当我在首选项屏幕的listpreference中第二次或更多次单击时,才能看到新值。
第一次,列表始终是原始列表,从1到10。
numeroIntentosLP.setOnPreferenceClickListener(new OnPreferenceClickListener()
{
@Override
public boolean onPreferenceClick(Preference preference)
{
CharSequence[] NuevosValores = new String[10 - LineaActual];
int Indice = 0;
for(int i = LineaActual + 1; i <= 10; i++)
{
NuevosValores[Indice++] = String.valueOf(i);
}
numeroIntentosLP.setEntries(NuevosValores);
numeroIntentosLP.setEntryValues(NuevosValores);
return true;
}
});
我尝试过使用numeroIntentosLP.setOnPreferenceChangeListener,但效果相同。 LineaActual是我从MainActivity传递给PreferenceActivity的整数值。这对我了解列表的新起始值很有用。
所以,每当我打开首选项屏幕并且我第一次点击列表首选项时,我总是得到数字1到10,但是当我再次点击时,无论多少次,我得到我想要的,我的意思是从LineaActual到10的列表。
提前致谢。
答案 0 :(得分:0)
好的,我找到了解决方案。它就像将代码直接放在onCreate中一样简单,而不是放在监听器中。
谢谢samgak,我看到你的回答有点迟了,你说得对,谢谢你。