app有16个搜索栏,app希望能够将所有值保存到新数组中,并在spinner(item)中引用/添加数组。 然后app希望能够从微调器中选择其中一个数组,并从seekbar.setprogress(arrayitem)设置搜索栏进度。
在这里看到很多帖子,并且无法找到适合我需要的东西,或者真正从哪里开始。 什么是最简单,最有效的宣言?private SeekBar seekBar1, seekBar2, seekBar3, seekBar4, seekBar5, seekBar6, seekBar7, seekBar8, seekBar9, seekBar10, seekBar11, seekBar12, seekBar13, seekBar14, seekBar15, seekBar16;
private Button saveButton;
private Spinner spinner;
答案 0 :(得分:1)
private SeekBar seekBar1, seekBar2, seekBar3, seekBar4, seekBar5, seekBar6, seekBar7, seekBar8, seekBar9, seekBar10, seekBar11, seekBar12, seekBar13, seekBar14, seekBar15, seekBar16;
是一种非常糟糕的不良做法。
改为使用private SeekBar seekBar[16]
。
初始化(在你的活动的onCreate中):
for(int nIndex=0; nIndex<16; nIndex++)
{
seekBar[nIndex] = findViewById(Integer.getInteger("R.id.seekBar" + (nIndex+1)); // assuming that u've declared 16 seekbars in ur layout XML named seekBar1 ... to ... seekBar16
}
答案 1 :(得分:1)
1.创建一个2d数组(16个整数作为列,允许作为行的最大模式数)和16个搜索栏。
2.call onProgressChanged()
在每个微调器上,并有一个静态值来计算更改的数量并相应地存储值(例如:如果onProgressChanged()用于第二个搜索条,则计数为3将值存储在阵列[1] [2])中。
3.使用以下代码将其导入aspinner
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.id.thearray, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
4.使用foll。用于将所选值放入搜索栏的代码
for(i=0;i<16;i++){
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
seekbar.setprogress(thearray[pos][i]);
}
}