以下是我的代码。但它表明这是不可能的。有人可以建议我如何将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);
答案 0 :(得分:3)
请使用Context of activity作为ArrayAdapter的第一个参数,您可以使用
ActivityName.this
而不是this
,其中ActivityName是活动类的名称。您似乎在某些Runnable或Thread类中运行此代码,所以现在this
是Runnable
对象的实例。
答案 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;
}
});