Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 运行时的Generte资源ID?_Android - Fatal编程技术网

Android 运行时的Generte资源ID?

Android 运行时的Generte资源ID?,android,Android,我正在用搜索栏编写一个自定义首选项,到目前为止它还可以工作,除了一个问题,我的搜索栏的ID是用XML定义的,所以当我尝试使用2个自定义首选项,然后更新搜索栏时,我无法区分这两个 SeekBar bar = (SeekBar)view.findViewById(R.id.PreferenceSeekBar); 有没有办法在运行时生成自定义资源ID? 或者另一种解决方法 谢谢, 杰森 在自定义首选项的onBind-ovverriden方法上,会向您传递一个视图,其中包含当前首选项活动的所有视图 首

我正在用搜索栏编写一个自定义首选项,到目前为止它还可以工作,除了一个问题,我的搜索栏的ID是用XML定义的,所以当我尝试使用2个自定义首选项,然后更新搜索栏时,我无法区分这两个

SeekBar bar = (SeekBar)view.findViewById(R.id.PreferenceSeekBar);
有没有办法在运行时生成自定义资源ID? 或者另一种解决方法

谢谢, 杰森

在自定义首选项的onBind-ovverriden方法上,会向您传递一个视图,其中包含当前首选项活动的所有视图

首选项上没有
onBind()
方法。有一个
onBindView()
方法。但是,传递给
onBindView()
视图是从
onCreateView()
返回的任何
视图,或者如果您按该路线进行操作,则从指定布局文件膨胀的
视图。这不是整个活动

确保您正在为您的
首选项创建的小部件上调用
findViewById()
,而不是范围更广的小部件


另外,请记住,
首选项活动
是一个
列表活动
。如果您的自定义
首选项
从屏幕上滚下,其
视图
可能会被交给您的自定义
首选项的另一个实例
进行回收。

为了未来的参与者:

使用setTag()标记视图,并使用findViewWithTag()引用它


来源:

您的代码列表中的
视图是什么?@commonware:在自定义首选项的onBind-ovverriden方法上,您被传递了一个视图,其中包含当前首选项活动的所有视图。是的,即使考虑到我受到的影响,我也知道当我只移动一个搜索栏时,两个搜索栏都在移动。考虑到传递给我的视图不包含两个seek,这是没有意义的bars@Jason:这个问题听起来很熟悉,但我不记得解决方案。不好意思,我已经为此绞尽脑汁了一段时间,如果我创建一个自定义首选项类的副本并使用它-它解决了它,建议混合引用,但我找不到任何引用。