-1

应用程序有 16 个搜索栏,应用程序希望能够将它们的所有值保存到一个新数组中,并在微调器(项目)中引用/添加数组。然后应用程序希望能够从微调器中选择这些数组之一,并从中设置搜索栏进度 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;
4

2 回答 2

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
}
于 2012-07-08T12:09:55.017 回答
1

1.创建一个二维数组(以 16 个整数作为列,允许的最大模式数作为行)和 16 个搜索栏。

2.调用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]);
            }
        }
于 2012-07-08T12:14:33.090 回答