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