我有一个列表视图,其中每个textview应该显示搜索栏的值。我有它的工作,一旦为搜索栏调用onStopTrackingTouch我更新相应的textview。我希望在用户移动搜索栏时进行更改,但我在执行相同操作时遇到困难,因为listview不会经常刷新。
实现这一目标的理想方法是什么?
答案 0 :(得分:1)
答案 1 :(得分:1)
所以这就是我所做的,我在getView之外定义了一个触摸监听器,将其设置为getview中的seekbar的TouchListener。 TouchListener将视图作为参数返回,我获取了视图的父级,并且对tectview执行了findViewByID搜索并更新了它。
答案 2 :(得分:1)
我找到了实现此行为的方法,当我覆盖ArrayAdapter的getView()
方法时,我将SeekBar标记属性设置为当前项的位置。这样可以帮助我在执行onProgressChanged(...)
回调时提取相应的项目。同时它让我更新适配器中包含的对应对象。
sbProgress.setTag(position);
sbProgress.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
View view = (View) seekBar.getParent();
if(view != null){
TextView tvProgress = (TextView)view.findViewById(R.id.tv_porcentaje_numerico_obtenido);
tvProgress.setText(progress + "%");
MyAdapter.this.getItem((Integer)seekBar.getTag()).setProgres(progress);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {}
});
这是一张解释我的意思
的图片我希望这对某人有帮助。