如何在Fragment中自动刷新列表视图?

时间:2019-09-25 05:14:08

标签: java android android-listview

输入数据后,我将使用Base Adapter实现自定义列表视图,但列表不会自动刷新。我需要重新打开片段以查看更新。

public class Lead_Adapter extends BaseAdapter {
private Context context;
private ArrayList<Lead_Model> leadarrayList;

public Lead_Adapter(Context context,ArrayList<Lead_Model>arrayList){

    this.context = context;
    this.leadarrayList = arrayList;

}


@Override
public int getCount() {
    return this.leadarrayList.size();
}

@Override
public Object getItem(int position) {
    return leadarrayList.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convert_view, ViewGroup parent) {
    LayoutInflater layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    convert_view = layoutInflater.inflate(R.layout.lead_listview, null);
    TextView Company_Name = convert_view.findViewById(R.id.company_name_listview);
    TextView Lead_Status = convert_view.findViewById(R.id.lead_status_listview);
    TextView Lead_Date = convert_view.findViewById(R.id.lead_date_listview);

    Lead_Model leadModel = leadarrayList.get(position);
    Company_Name.setText(leadModel.getCompany_name());
    Lead_Status.setText(leadModel.getLead_status());
    Lead_Date.setText(leadModel.getDate());
    return convert_view;
}

4 个答案:

答案 0 :(得分:2)

将数据添加到片段中的适配器后,请执行以下操作

adapter.notifyDataSetChanged();

答案 1 :(得分:1)

添加完数据后,您可以致电notifyDataSetChanged()

答案 2 :(得分:0)

将片段中的项目添加到arrayList时,必须执行adapter.notifyDataSetChanged()

答案 3 :(得分:0)

输入数据后,只需通知列表即可,无需重新打开片段。

items.clear();
items = db.getItems(); // fetch items from database
listAdapter.notifyDataSetChanged();