垂直Seekbar setProgress不工作
寻求没有进展。 所有seekbar都为零,但textView正确显示值。
choosePreset.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
LayoutInflater inflater = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE));
View customView = inflater.inflate(R.layout.preset_list, null, false);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setView(customView);
final String[] arr= getEqualizerPresets();
ArrayAdapter<String> namesAA= new ArrayAdapter<String> ( context,R.layout.myitemlist,arr );
ListView list = (ListView) customView.findViewById(R.id.mylist);
list.setAdapter(namesAA);
final AlertDialog ad = builder.create();
list.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view, final int position, long id)
{
Toast.makeText(context, "Position"+position, Toast.LENGTH_LONG).show();
//equalizerWrapper.usePreset((short)arr[position]);
for(int v=0;v<eqSeeks.length;v++)
{
// equalizerSeeks(v, eqSeeks[v]);
final int z = v;
eqSeeks[v].post(new Runnable()
{
@Override
public void run()
{
eqSeeks[z].setProgress( EQValues.presetValues[position][z]);
}
});
}
// eqSeeks[2].setProgress(150);
setEqualizerPreset(position);
ad.dismiss();
}
});
ad.show();
}
});
EQValues.presetValues [position] [z]正确显示在textView中,但seekbars没有达到进度。 我尝试了很多方法,但没有工作。
我尝试使用处理程序,并使用postMethod,如图所示。 但seekBars没有达到价值。
编辑
我找到了一个答案,以添加updateThumb
方法垂直seekbar,但它也不起作用。 这个问题是由于垂直seekbar。
public void updateThumb(){
onSizeChanged(getWidth(), getHeight(), 0, 0);
}
然后在设置进度后调用更新缩略图方法。
seekBar.setProgress((int) progress);
seekBar.updateThumb();
但这仍然没有解决我的问题
我正面临一些其他问题。 但是给出的声明是有效的。
在VerticalSeekbar类中添加updateThumb方法
public void updateThumb()
{
onSizeChanged(getWidth(), getHeight(), 0, 0);
}
然后在设置进度后调用更新缩略图方法。
seekBar.setProgress((int) progress);
seekBar.updateThumb();
这实际上更好:
@Override
public void setProgress(int progress) {
super.setProgress(progress);
onSizeChanged(getWidth(), getHeight(), 0, 0);
}
现在setProgress()
方法应该可以正常工作。