Tôi đang cố gắng tạo một bảng con tùy chỉnh sẽ sử dụng hai bố cục khác nhau tùy thuộc vào một số dữ liệu trong con trỏ. Tôi tiếp tục đọc về 'ghi đè getViewTypeCount() và getItemViewType()' để thực hiện điều này nhưng tôi dường như không thể tìm ra cách thực hiện điều này ..cursoradapter với bố trí hàng khác nhau
Đây là mã của tôi cho bindView và phương thức Xem mới:
@Override
public void bindView(View view, Context context, Cursor cursor) {
TextView tView = (TextView) view.findViewById(R.id.TextView1);
tView.setText("The text");
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return mInflater.inflate(R.layout.item1, parent, false);
}
.
EDIT: Bây giờ tôi đã làm việc này, nhưng tôi muốn chọn những gì rowlayout sử dụng tùy thuộc vào một số dữ liệu trong con trỏ và tôi không thể làm việc đó .. ai có một số ý tưởng?
@Override
public int getItemViewType(int position) {
return position % 2;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
ViewHolder holder = (ViewHolder) view.getTag();
holder.txtAddress
.setText("blabla");
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
ViewHolder holder = new ViewHolder();
View v = null;
int type = cursor.getPosition() % 2;
if(type == 0) {
v = mInflater.inflate(R.layout.item, parent, false);
} else {
v = mInflater.inflate(R.layout.item2, parent, false);
}
holder.txtAddress = (TextView) v.findViewById(R.id.tvName);
v.setTag(holder);
return v;
}
bạn đang cố gắng để thêm phần/tiêu đề để bạn xem danh sách? Mark Murphy đã thực sự dễ dàng sử dụng bộ điều hợp danh sách kết hợp cwac-merge có thể hữu ích. – csaunders
Không, tôi có 2 bố trí khác nhau và đôi khi tôi muốn sử dụng layout1 nếu mCursor.getString (mCursor.getColumnIndex ("type")). Bằng ("1") và tôi muốn sử dụng layout2 khi mCursor.getString (mCursor.getColumnIndex ("type")). bằng ("2") – jagsler
Nếu bạn muốn, bạn có thể chỉ cần lấy hai con trỏ riêng biệt. Một trong những nơi loại == 1 và một cho nơi mà loại == 2. Đó là khu ổ chuột, nhưng nó có thể giúp bạn di chuyển về phía trước. – csaunders