Правильно использовать SpinnerAdapter - PullRequest
1 голос
/ 01 декабря 2011

Я пытаюсь заставить работать мой спиннеадаптер. Я не получаю ошибки, но вертушка остается пустой. Я прочитал несколько уроков, но они не работают отлично. Я пытаюсь превратить каждую строку в определенный цвет, поэтому мне нужен адаптер. Это мой код:

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>

1 Ответ

0 голосов
/ 01 декабря 2011

Если он отображается, но пуст, значит, вы не правильно создавали свой dateArray.Вы проверили, что в namen в s.setAdapter(new spinnerAdapter(getParent(),namen)); есть что-нибудь?

...