私は持っていListView
ます。を使用してオブジェクトの配列で埋めましたArrayAdapter
。すべてのデータはバックエンドから取得されます。リスト項目をクリックすると、詳細画面に移動します。
シナリオ:
マネージャーは、部下から提出された休暇申請のリストを持っています。マネージャーが休暇申請を選択すると、特定の休暇申請の詳細が表示されます。詳細画面で、マネージャーは休暇を承認/却下できます。特定の休暇申請を承認/拒否した後、マネージャーは休暇申請のリストに戻る必要があります。これで、承認/却下された休暇申請はリストに表示されなくなります。
休暇申請が承認/拒否されたときにリストを更新する方法を教えてください。
以下は私のアダプターコードです:
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;
}
}