输入数据后,我将使用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;
}
答案 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();