2012-07-08 54 views
-1

應用程序有16個seekbars,應用程序希望能夠將其所有值保存到一個新數組中,並引用/在微調器(項目)中添加數組。 然後,應用程序希望能夠從微調器中選擇這些數組中的一個,並從seekbar.setprogress(arrayitem)中設置seekbars進度。android數組,字符串,整數,列表,視圖和完全混淆

眼中的頭在這裏讀了很多帖子,找不到適合我需求或真正從哪裏開始的東西。 什麼是最簡單和最有效的appreoach?

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

[I(代詞)](http://en.wikipedia.org/wiki/I_(代詞)) – 2012-07-08 17:11:39

+0

奇怪一堆放在這裏,-1 COS有一個'我'使用。非常有用謝謝jeeez – 2012-07-08 18:46:11

回答

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 
} 
+0

正確的感謝,然後我可以使用該方法來依次選擇每個seekbar – 2012-07-08 12:46:28

+0

啊它說'類型Activity中的方法findViewById(int)不適用於參數(字符串)' – 2012-07-08 13:02:28

+0

好的解決了那個int x = Integer.getInteger(「R.id.seekBar」); seekBar [nIndex] =(SeekBar)findViewById(x +(nIndex + 1)); – 2012-07-08 13:17:02

1

1.創建一個二維陣列(16個整數作爲列和最大的模式的數量被允許作爲行。)和16個seekbars。

2.call onProgressChanged()在每個spinners上,並有一個靜態值來計算更改的數量並相應地存儲該值(例如:如果onProgressChanged()用於第2個seekbar並且count爲3,則存儲值intheArray [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]); 
      } 
     } 
+0

但我需要能夠創建幾個整數數組。我將如何做一些類似於製作陣列的二維數組。所以thearray [1]將是一個整數。 – 2012-07-08 12:50:55

+0

請讓自己清楚...... 2維數組是什麼?有16個spinners,所以只有16個整數 – jaisonDavis 2012-07-08 12:53:08

+0

對不起,我試圖讓我的腦袋繞着做什麼,我解釋得不夠好。我想將全部16個seekbars進度保存到一個int數組中。但我需要幾個int數組。 – 2012-07-08 13:12:38