3

私は文字列の数を含む String[] を持っています。私がやろうとしているのは、どの文字列が使用されているかに応じて ProgressBar の進行状況を設定することです。

たとえば、文字列の数をすでに決定しており、それに応じて進行状況バーの最大進行状況を設定しています。ここにリストがあります:

 "zero one two three four five six seven eight nine...."

..

 String[] cpu0freqslist = cpu0freqs.split("\\s");
 countcpu0 = cpu0freqslist.length;

..

 ProgressBar cpu0progbar = (ProgressBar)findViewById(R.id.progressBar1);
 cpu0progbar.setMax(countcpu0);

しかし、現在、使用されているアイテムに応じてプログレスバーの進行状況を設定する必要があり、アイテムの位置を取得する方法がわかりません。

プログレス バーをアイテム 5 (この場合は 6) の位置に設定したい場合、どうすればそれを行うことができますか?どうすればアイテム 5 の位置を取得できますか?

4

4 に答える 4

6

Arraysユーティリティ クラスを使用できます。

List<String> list = Arrays.asList(new String[] {"First", "Second", "Third"});
int index = list.indexOf("Second"); // 1
于 2012-07-30T09:54:40.870 に答える
6

基本的に、探しているのは indexOf(...) ...

配列にはそれがないため、目的の文字列を見つけるために検索する必要があります。このようなもの(自由に最適化してください)

 public int indexOfString(String searchString, String[] domain)
 {
     for(int i = 0; i < domain.length; i++)
        if(searchString.equals(domain[i]))
           return i;

     return -1;
 }

繰り返しになりますが、String[] データを動的にフェッチする場合は、ArrayList を使用して単に呼び出す方が賢明です。list.indexOf(myString);

于 2012-07-30T09:26:35.363 に答える
3

cpu0freqslist[5]

これは役に立ちますか?

于 2012-07-30T09:26:11.340 に答える
1

わかりました、クエリをいくつかの部分に分割させてください...

String[] arr = {"First","Second","Third"};   // String array with 3 elements

for(int i=0 ; i<arr.length ; i++){

    int j = i ;                          // Position of the element

    String s = a[i] ;                    // Element Itself

   System.out.println("The "+i+" element is  "+s);


  }
于 2012-07-30T09:38:36.223 に答える