Не могу создать ArrayListAdapter во фрагменте - PullRequest
0 голосов
/ 03 декабря 2018

Я создал специальный адаптер для отображения списка объектов Alarm в моем фрагменте.Я просмотрел несколько постов и учебных пособий и думаю, что, наконец, понял это правильно.Я заставил свой конструктор адаптеров взять ArrayList of Alarms.Однако, когда я пытаюсь создать адаптер внутри моего фрагмента, я получаю сообщение

AdapterAlarm (Context, java.util.ArrayList com.runners.spo.Alarm>) в Adapter Alarm не может быть примененоto (FragmentActivity, java.util.List com.runners.spo.Alarm>)

Мой адаптер выглядит так:

public class AdapterAlarm extends ArrayAdapter<Alarm> {
    public AdapterAlarm(Context context, ArrayList<Alarm> alarms) {
        super(context, R.layout.alarm_item, alarms);
    }

     @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater layout = LayoutInflater.from(getContext());
        View customview = layout.inflate(R.layout.alarm_item, parent, false);

        String name = getItem(position).name;
        ...

        TextView updatename = (TextView)customview.findViewById(R.id.name);
        ...

        updatename.setText(name);
        ...

        return customview;
    }

Я пытаюсь использовать адаптер внутрифрагмент как таковой.

private List<Alarm> alarms = new ArrayList<Alarm>();
private AdapterAlarm alarmAdapter;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_alarm, container, false);
        //this or getActivity()
        //problem is here
        alarmAdapter = new AdapterAlarm(this, alarms);
        ...

Я совершенно заблудился, как справиться с этой проблемой.Я не уверен, что не так со списком.

1 Ответ

0 голосов
/ 03 декабря 2018

Ваш класс AdapterAlarm ожидает ArrayList<Alarm>, но вы даете ему просто List<Alarm>.Вот что говорится в сообщении об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...