30/09/2018, 17:31

Cách load item lên listview - android

chả là em đang làm 1 app android chat, giờ phần load imageview hay textview hay videoview lên listview thì định hướng làm như thế nào hử các bác?
ý em là lúc người gửi image thì load image lên listview, hay người gửi video thì load cái video lên listview,…
chủ yếu em không biết thiết kế cái adapter ra sao cho phù hợp, mình nhận biết như thế nào để hiểu đó là image hoặc video để load lên listview,
thanks all!

Lê Phương viết 19:41 ngày 30/09/2018

Theo mình thì listview nó cho mình custom mỗi item trong đó có cả textview, imageview, videoview luôn (chi thay thế layout thui). Trong trường hợp bạn thì mình nghĩ mỗi item cứ để 1 trong 3 loai view trên. Bạn thử di, có thể dc đóđó

caybang viết 19:40 ngày 30/09/2018

con cach nhan biet hu ban?

Lê Phương viết 19:42 ngày 30/09/2018

con cach nhan biet hu ban?

Hoặc bạn có thể layout cho mỗi item gồm 3 view đó nằm đè lên nhau và invisible đi.
Lúc user gửi thì detect xem là loại j r cho 1 trong 3 view đó visible lên

Tâm Ninja viết 19:36 ngày 30/09/2018

Cho xin cais dessign hoawcj vex ys tuwowngr ra giaays up anhr leen tui chir cho.
? Cái thằng IBUS
Cho xin cái déign hoặc vẽ ra giaays ý tưởng rồi up lên tui chỉ cho.

Dùng getViewType và getViewTypeCount nhé.

caybang viết 19:32 ngày 30/09/2018

ý tưởng như mình chát zalo ấy bạn hiền, listview mà load lên có thể là text hoặc image hoặc video

caybang viết 19:47 ngày 30/09/2018

bạn có thể chỉ rõ đc không bạn

Quân viết 19:39 ngày 30/09/2018

Khi gửi bạn kèm theo 1 cờ nhận biết là được.

Tâm Ninja viết 19:46 ngày 30/09/2018

Tối về nhà rượu say lười code qúa. Phê rồi gõ sai sai google serach sau nhé.

@Override
public int getItemViewType(int position) {
    // Cái này dùng cho thằng getView.
    return position % 2;
}

@Override
public int getViewTypeCount() {
    return 2; // Số lượng layout khác nhau.
}

Trong getView() thì cho cái này vào:

if (convertView == null) {
    mInflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
    if(getItemViewType(position) == 0)
        convertView = mInflater.inflate(R.layout.listview_item_1, null);
    else
        convertView = mInflater.inflate(R.layout.listview_item_2, null);
    // etc, etc...
Bài liên quan
0