亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在4列listview android中過濾數據

在4列listview android中過濾數據

Cats萌萌 2021-05-01 14:30:45
我有一個包含數據庫和列表視圖的應用程序,用于顯示從數據庫中獲取的數據。列表視圖有4列,每一列顯示一列數據庫。當我從DB方法獲取數據時,返回arraylist中的數據。然后我將arraylist拆分為4個arraylist,并將其發送到獲得4個arraylist作為輸入的自定義適配器。問題是當我在costum適配器中使用filter過濾列中的數據時,我對該列工作良好,但其他列保持不變,因此過濾后的數據的相關數據不正確,也不是該行的相關數據。過濾數據時,有沒有辦法獲取正確的數據集?請幫忙。這是我的自定義適配器。    package javadi60.saber.storeassistant;import android.app.Activity;import android.content.Context;import android.graphics.Typeface;import android.text.Layout;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Filter;import android.widget.Filterable;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class CustomAdapter2 extends BaseAdapter implements Filterable {    Context context;    ArrayList<String> lista,listb,listc,listd;    ArrayList<String> listb2;    LayoutInflater inflater;    Typeface tf2;    int a;    public CustomAdapter2(Context aplicationContext, ArrayList<String> lista, ArrayList<String> listb, ArrayList<String> listc, ArrayList<String> listd, Typeface tf2, int a) {        this.context = context;        this.lista = lista;        this.listb = listb;        this.listc = listc;        this.listd = listd;        this.listb2=listb;        this.tf2 = tf2;        this.a = a;        inflater=(LayoutInflater.from(aplicationContext));    }    @Override    public int getCount() {        return listb2.size();    }    @Override    public Object getItem(int i) {        return listb2.get(i);    }    @Override    public long getItemId(int i) {        return 0;    }  正如我所說,過濾器在指定的列中做的很好,但其他列中的數據保持不變,并且行數據為false。請告訴我解決此問題的方法。
查看完整描述

2 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

而不是將UI分為4個列表視圖,為什么不使用具有4個水平文本視圖(每列1個)的單個Listview,如下所示:


TextView1 | TextView2 | TextView3 | TextView4


您可以為此使用Horizontal LinearLayout


使用單個適配器。這將解決您的過濾問題,還將減少管理4個不同列表所需的工作量。


List data = new ArrayList<Data>();


Class Data {

    String a;

    String b;

    String c;

    String d;

}


查看完整回答
反對 回復 2021-05-12
  • 2 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號