静态数组和微调器问题

时间:2011-11-02 09:11:45

标签: android android-layout

public String[] mArrayList = {" title", "sex", "name", "sex","fff","eee","iii"};            

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
    this,**mArrayList**,R.layout.sq,

    android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

我想使用mArrayList数组向微调器添加值。但是ERROR显示如下。

  

类型中的方法createFromResource(Context,int,int)   ArrayAdapter不适用于参数(sq,String [],int,   INT)。

我做错了什么?

如何从另一个java类访问静态数组?

如果您有任何实例,那将是一个真正的帮助!

3 个答案:

答案 0 :(得分:1)

虽然它不是示例的一部分,但似乎this不是活动/上下文,但是您有一些内部类。它应该是这样的:

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( 
TheActivityName.this, mArrayList, R.layout.sq,android.R.layout.simple_spinner_item);
//^ Your activity name, to make it clear to the compiler that you want "this" object of the activity

答案 1 :(得分:1)

createFromResource需要来自values.xml文件的数组资源ID。

<resources>
    <string-array name="mArrayList">
        <item>title</item>
        <item>sex</item>
        <item>name</item>
        <item>fff</item>
        <item>eee</item>
        <item>iii</item>
    </string-array>
</resources>

并传递资源ID,即R.array.mArrayList

ArrayAdapter.createFromResource(this,R.array.mArrayList,android.R.layout.simple_spinner_item);

答案 2 :(得分:1)

ArrayAdapter.createFromResource()的参数为

  • context应用程序的环境。
  • textArrayResId要用作数据的数组的标识符 源。
  • textViewResId用于创建视图的布局标识符。

然后我们如何传递更多参数。

我认为你想使用这个构造函数

创建ArrayAdapter

ArrayAdapter(Context, int, int, T[])

并确保您的参数序列也是正确的构造函数。