0

在我的应用程序中,我有一个微调器,用户可以在其中选择一个数字。我尝试了以下方法,它可以工作,但它需要string-arrayvalues.XML 文件中的一个,这对我来说是不切实际的,因为我有几个范围不同(80-100 个项目长)。

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.number_array, android.R.layout.simple_spinner_item);
    spinner.setAdapter(adapter);

这行得通,但它需要这个;

<string-array name="number_array">
<item>1</item>
.....
</string-array>

所以我创建了一个 int 数组 -

    int [] intArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

但是像这样创建一个数组适配器是行不通的

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        intArray, android.R.layout.simple_spinner_item);

有什么办法可以做到这一点,还是string-arrays我的 values.xml 文件中有很多长数字?

4

2 回答 2

1

好的,由于该问题下的评论中提供的链接,我解决了我的问题,方法是首先int[]使用此链接将我的数组转换为字符串数组

然后我使用此链接中的答案将微调器的值设置为字符串数组

于 2012-12-06T17:20:38.437 回答
1

使用下面的代码

  String[] array = {"1", "2","3", "4","5","6","7","8","9","10"};
  ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>
  (this,android.R.layout.simple_spinner_item, array);

代替

  ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
  intArray, android.R.layout.simple_spinner_item);
于 2012-12-06T08:16:31.667 回答