1
我想让我的spinneradapter工作。我没有得到任何错误,但是 微调控制器仍然是空的。我已经阅读了多个教程,但他们似乎没有很好地工作 。我试图将特定颜色的每一行都打开,这就是为什么我需要适配器。 这是我的代码:正确使用SpinnerAdapter
public class spinnerAdapter extends ArrayAdapter<String> implements
SpinnerAdapter {
Context context;
ArrayList<String> dateArray;
public spinnerAdapter(Context context, ArrayList<String>dateArray) {
super(context, R.layout.ruilen2_spinner);
this.context = context;
this.dateArray = dateArray;
}
static class ViewHolder {
public TextView textView;
public TextView textView2;
}
@Override
public View getDropDownView(int position, View view, ViewGroup parent) {
View rowView = view;
final ViewHolder holder;
if (rowView == null) {
LayoutInflater vi = (LayoutInflater) getContext().getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
rowView = vi.inflate(R.layout.ruilen2_spinner, null);
holder = new ViewHolder();
holder.textView = (TextView)rowView.findViewById(R.id.spinnerdate);
//holder.textView2 = (TextView)rowView.findViewById(R.id.spinnerworkplace);
rowView.setTag(holder);
}
else{
holder = (ViewHolder) rowView.getTag();
}
holder.textView.setText(dateArray.get(position));
return super.getDropDownView(
position, rowView, parent);
}
}
下面的代码片段,我调用类:
s.setAdapter(new spinnerAdapter(getParent(),namen));
最后但并非最不重要的XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:background="@color/white"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/spinnerdate" android:textColor="@color/black"></TextView>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/spinnerworkplace" android:textColor="@color/black"></TextView>
</LinearLayout>
不,那不是。打印ArrayList的名称在一个循环中,它们在里面,所以它必须是其他东西..但无论如何感谢您的帮助 – nostradamus
我教程刚刚发现建议覆盖'getView'以及'getDropDownView' '@Override public View getDropDownView(int position,View convertView, ViewGroup parent){return getCustomView(position,convertView,parent); }' '@Override public View getView(int position,View convertView,ViewGroup parent){return getCustomView(position,convertView,parent); } ' – Andrew