-1

アプリには16個のシークバーがあり、アプリはすべての値を新しい配列に保存し、スピナー(アイテム)で配列を参照/追加できるようにしたいと考えています。アプリは、スピナーからこれらの配列の 1 つを選択し、そこからシークバーの進行状況を設定できるようにしたいと考えています。

頭の中の目はここで多くの投稿を読みましたが、私のニーズに合うものや実際にどこから始めるべきかを見つけることができません. 最も単純で効率的なアプローチは何ですか?

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. 2D 配列 (列として 16 個の整数、行として許可されるパターンの最大数) と 16 個のシークバーを作成します。

2.onProgressChanged()各スピナーを呼び出し、変更の数をカウントするための静的な値を取得し、それに応じて値を格納します (例: onProgressChanged() が 2 番目のシークバー用であり、カウントが 3 の場合、値を theArray[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.フォールを使用します。選択した値をシークバーに入れるコード

 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 に答える