我有一个包含数据库和列表视图的应用程序,用于显示从数据库中获取的数据。列表视图有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。请告诉我解决此问题的方法。
qq_遁去的一_1
相关分类