将arraylist设置为spinner的方法

时间:2012-12-08 09:07:52

标签: android arraylist spinner

以下是我的代码。但它表明这是不可能的。有人可以建议我如何将arraylist设置为微调器而不是将简单数组设置为微调器。下面是我的代码。

ArrayList<String> categoryList = new ArrayList<String>();

//这里我有代码将字符串值设置为arraylist

//下面是我试图设置arraylist的代码,但它说“构造函数ArrayAdapter(new Runnable(){},int,ArrayList)未定义

Spinner spinnerCategory = (Spinner)findViewById(R.id.spinnercategory);
                    ArrayAdapter<String> categoriesAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categoryList);

3 个答案:

答案 0 :(得分:3)

请使用Context of activity作为ArrayAdapter的第一个参数,您可以使用

ActivityName.this而不是this,其中ActivityName是活动类的名称。您似乎在某些Runnable或Thread类中运行此代码,所以现在thisRunnable对象的实例。

答案 1 :(得分:3)

使用以下内容 -

Spinner spinnerCategory = (Spinner)findViewById(R.id.spinnercategory);
                ArrayAdapter<String> categoriesAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, categoryList);

答案 2 :(得分:1)

使用自定义适配器并根据您的数据实施。这只是一个不工作代码的示例。

 Spinner spinnerCategory = (Spinner)findViewById(R.id.spinnercategory);
          spinnerCategory.setAdapter( new SpinnerAdapter() {

            @Override
            public void unregisterDataSetObserver(DataSetObserver observer) {
                // TODO Auto-generated method stub

            }

            @Override
            public void registerDataSetObserver(DataSetObserver observer) {
                // TODO Auto-generated method stub

            }

            @Override
            public boolean isEmpty() {
                // TODO Auto-generated method stub
                return false;
            }

            @Override
            public boolean hasStableIds() {
                // TODO Auto-generated method stub
                return false;
            }

            @Override
            public int getViewTypeCount() {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public int getItemViewType(int position) {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public long getItemId(int position) {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public Object getItem(int arg0) {
                // TODO Auto-generated method stub
                return null;
            }

            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return 0;
            }

            @Override
            public View getDropDownView(int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                return null;
            }
        });