我正在使用搜索栏编写自定义首选项,到目前为止它有效,除了一个问题我的搜索栏的ID是用XML定义的,所以当我尝试使用2个自定义偏好然后我更新寻求吧我无法区分这两者。
SeekBar bar = (SeekBar)view.findViewById(R.id.PreferenceSeekBar);
有没有办法在运行时生成自定义资源ID? 或者或许另一种解决方法?
谢谢, 杰森
答案 0 :(得分:1)
在自定义首选项的onBind ovverriden方法中,您将传递一个View视图,其中包含有关当前首选项活动的所有视图。
onBind()
上没有Preference
方法。 是 onBindView()
方法。但是,传递给View
的{{1}}是您从onBindView()
返回的View
,或者是您指定的布局文件中的onCreateView()
。这不是整个活动。
确保您在为View
创建的小部件上调用findViewById()
,而不是更广泛的内容。
另外,请注意Preference
是PreferenceActivity
。如果您的自定义ListActivity
滚出屏幕,其Preference
可能会被移至您自定义View
的另一个实例进行回收。
答案 1 :(得分:1)