0

私は持ってい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;
    }
}
4

2 に答える 2