Tôi có ArrayAdapter tùy chỉnh để đại diện cho đối tượng trên điều khiển spinner, tôi có thể tải các mục của tôi danh sách và hiển thị nó để lựa chọn, nhưng khi lựa chọn thực tế xảy ra thì spinner không hiển thị gì cả.Spinner với ArrayAdapter tùy chỉnh cho đối tượng không hiển thị mục được chọn
Hoạt động mã:
public MetroData metroData;
private Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
metroData = new MetroData();
spinner = (Spinner) findViewById(R.id.spinner1);
StopArrayAdapter dAdapter = new StopArrayAdapter(this, metroData.Stops);
spinner.setAdapter(dAdapter);
}
StopArrayAdapter:
public class StopArrayAdapter extends ArrayAdapter<MetroStop> {
private List<MetroStop> items;
private Activity activity;
public StopArrayAdapter(Activity activity, List<MetroStop> items) {
super(activity, android.R.layout.simple_list_item_1, items);
this.items = items;
this.activity = activity;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
TextView v = (TextView) super.getView(position, convertView, parent);
if (v == null) {
v = new TextView(activity);
}
v.setTextColor(Color.BLACK);
v.setText(items.get(position).getName());
return v;
}
@Override
public MetroStop getItem(int position) {
return items.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater inflater = activity.getLayoutInflater();
v = inflater.inflate(R.layout.view_spinner_item, null);
}
TextView lbl = (TextView) v.findViewById(R.id.text1);
lbl.setTextColor(Color.BLACK);
lbl.setText(items.get(position).getName());
return convertView;
}
}
Spinner xem mục mẫu:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#222"/>
Bất kỳ ý tưởng về lý do tại sao quan điểm sản phẩm được chọn không hoạt động? Btw, tôi cũng đã thử nó với một ArrayAdapter bình thường với cùng một kết quả.
Cập nhật Dường như chế độ xem được tạo nhưng nhìn vào trình xem phân cấp, chế độ xem không được hiển thị, Đo/Bố trí/Vẽ = n/a.
Kiểm tra văn bảnColor – Krish
Không, textColor không có hiệu ứng nào cho chế độ xem mục đã chọn, tôi đã thử cả hai có hoặc không có. – Andres