У меня есть 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;
}
}
Не могли бы вы объяснить мне, как вызвать notifyDataSetChange() в потоке пользовательского интерфейса. У меня не так много знаний по программированию на Android. – user2740599
Эй, я уже добавил фрагмент кода, который работает на тему пользовательского интерфейса. – gokhanakkurt
Где я должен назвать этот метод. – user2740599