[Android]如何从String []获取项目编号(位置)

时间:2012-07-30 09:22:03

标签: java android android-layout

我有一个包含字符串数的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 个答案:

答案 0 :(得分: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);

会更明智

答案 1 :(得分:6)

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

List<String> list = Arrays.asList(new String[] {"First", "Second", "Third"});
int index = list.indexOf("Second"); // 1

答案 2 :(得分:3)

cpu0freqslist[5]

这对你有帮助吗?

答案 3 :(得分: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);


  }