android数组,字符串,整数,列表,视图和完全混乱

时间:2012-07-08 11:52:44

标签: android arrays string int seekbar

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;

2 个答案:

答案 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]);
            }
        }