我有一個ListView
。我用ArrayAdapter
填充了一系列對象。所有數據都來自後端。當我點擊列表項目時,我將導航到詳細信息屏幕。如何刷新Android列表數據?
場景:
經理有他/她的reportees提出休假請求的列表。當經理選擇離職請求時,它將顯示特定請假的詳細信息。在詳細信息屏幕中,經理可以批准/拒絕假期。在批准/拒絕特定請假之後,經理必須回到請假請求清單。現在批准/拒絕請假請求不應出現在列表中。
任何人都可以告訴我如何在請假申請被批准/拒絕後刷新清單。
下面是我的適配器代碼:
private class MyCustomAdapter extends ArrayAdapter<EmployeeLeaveHistory>
{
private ArrayList<EmployeeLeaveHistory> leavesList;
public MyCustomAdapter(Context context,
int leaveOverviewListItem,
ArrayList<EmployeeLeaveHistory> empLeaveOverview) {
// TODO Auto-generated constructor stub
super(context, leaveOverviewListItem, empLeaveOverview);
this.leavesList = new ArrayList<EmployeeLeaveHistory>();
this.leavesList.addAll(empLeaveOverview);
}
public class ViewHolder{
TextView status = null;
//TextView reason = null;
TextView startDate = null;
TextView duration = null;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = li.inflate(R.layout.leave_overview_list_item, null);
holder = new ViewHolder();
holder.startDate = (TextView) convertView.findViewById(R.id.txtLeaveRequestStartDate);
holder.duration = (TextView) convertView.findViewById(R.id.txtLeaveRequestDuration);
holder.status = (TextView) convertView.findViewById(R.id.txtLeaveRequestStatus);
final EmployeeLeaveHistory elh = leavesList.get(position);
convertView.setTag(elh);
if(elh != null)
{
elh.setListPosition(position);
holder.startDate.setText(elh.getLeaveStartDate());
holder.duration.setText(elh.getLeaveDuration());
holder.status.setText(elh.getLeaveStatus());
}
return convertView;
}
}
你可以請解釋我如何在UI線程上調用notifyDataSetChange()。我對android編程沒有太多的知識。 – user2740599
嘿,我已經添加了一段在UI線程上運行的代碼。 – gokhanakkurt
我必須在這裏調用這個方法。 – user2740599