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);

但是现在需要根据使用的item来设置progressbar的进度,不知道怎么获取item位置。

因此,如果我想将进度条设置为第五项的位置(在本例中为 6),我该怎么做 - 我怎样才能获得第五项的位置?

4

4 回答 4

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 回答
6

您可以使用Arrays实用程序类:

List<String> list = Arrays.asList(new String[] {"First", "Second", "Third"});
int index = list.indexOf("Second"); // 1
于 2012-07-30T09:54:40.870 回答
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 回答