android中的Array Adapter中的Integer Array列表

时间:2014-11-11 13:35:35

标签: android integer android-arrayadapter google-maps-android-api-2 android-spinner

我正在研究谷歌地图api,其中在地图屏幕上,我想为用户提供一个选项,让用户通过微调器选择地图类型。 map选项的返回类型是整数,所以我将该值赋给spinner,以便通过Integer Array进行选择。我的代码段如下:

private GoogleMap mMap;

    int normMap = mMap.MAP_TYPE_NORMAL;
    int satelliteMap =mMap.MAP_TYPE_SATELLITE;
    int terrainMap =mMap.MAP_TYPE_TERRAIN; 
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.my_location_demo);
        spinnerOsversions = (Spinner) findViewById(R.id.spinner1);

        ArrayAdapter<Integer> adapter_state = new ArrayAdapter<Integer>(this,
            android.R.layout.simple_spinner_item, mapOptions);
    //Here it shows an error that Integer should not be passed to it,  want to send my mapType int array list to it   

          adapter_state.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

          spinnerOsversions.setAdapter(adapter_state);
          spinnerOsversions.setOnItemSelectedListener(this);

    }

1 个答案:

答案 0 :(得分:1)

假设变量mapOptions的类名是YourClass,请将代码修改为:

ArrayAdapter<YourClass> adapter_state = new ArrayAdapter<YourClass>(this,
        android.R.layout.simple_spinner_item, mapOptions);

在android docs中:
public ArrayAdapter(Context context,int resource,T [] objects)
构造函数 参数
context - 当前语境。
resource - 包含在实例化视图时使用的TextView的布局文件的资源ID objects - 要在ListView中表示的对象。