我想存储用户通过在数组中拖动拇指来选择的搜索栏值
答案 0 :(得分:0)
您可以这样做:
private ArrayList<Seekbar> mSeekbars = new ArrayList<Seekbar>();
@Override
protected void onCreate(Bundle savedInstanceState) {
// Your code where you set the content view
mSeekbars.add(((Seekbar) findViewById(R.id.seekbar1));
mSeekbars.add(((Seekbar) findViewById(R.id.seekbar2));
mSeekbars.add(((Seekbar) findViewById(R.id.seekbar3));
}
// To enable seekbars
private void onRadioButtonSelected() {
for (Seekbar seekbar : mSeekbars) {
seekbar.setEnabled(true);
}
}
// To get seekbar values
private ArrayList<Integer> saveSeekbarValues() {
ArrayList<Integer> values = new ArrayList<Integer>();
for (Seekbar seekbar : mSeekbars) {
values.add(seekbar.getProgress())
}
return values;
}
}
另一个解决方案是拥有一个包含所有搜索栏的父布局,并启用/禁用该布局,而不是启用/禁用单个搜索栏。但是,对于值,您必须手动检索每个搜索条的值。
答案 1 :(得分:0)
您可以将所有搜索栏放在单个视图中,并使用迭代逐个获取,并使用setEnable(): -
// to enable seekbars
public void enableAllSeekBars()
{
int childcount = containerView.getChildCount();
for (int i=0; i < childcount; i++){
if(containerView.getChildAt(i) instanceof SeekBar)
{
SeekBar sb = (SeekBar)containerView.getChildAt(i);
sb.setEnabled(true);
}
}
}
// to get seekbar values
public ArrayList<Integer> getSeekBarValues()
{
ArrayList<Integer> values = new ArrayList<Integer>();
int childcount = containerView.getChildCount();
for (int i=0; i < childcount; i++){
if(containerView.getChildAt(i) instanceof SeekBar)
{
SeekBar sb = (SeekBar)containerView.getChildAt(i);
values.add(sb.getProgress())
}
}
return values;
}