ListView onItemClick запускает другой ListView - с фрагментами

При запуске мое приложение запускает фрагмент, который отображает listView "проектов". Когда я нажимаю на проект, запускается новый фрагмент, который отображает детали проекта, в том числе еще один список "задач" (каждый объект проекта может содержать много задач).

У меня возникают проблемы при инициализации адаптера массива для второго списка.tasksAdapter = new TasksArrayAdapter(getActivity(),selectedProject.getTasks());

Он не будет компилироваться, и Android Studios предлагает следующую причину:

incompatible types. Required: ProjectsArrayAdapter. Found: TasksArrayAdapter

ProjectsArrayAdapter был настроен на предыдущий фрагмент следующим образом:

    //initialize a custom ArrayAdapter to connect the object to the listView

    projectsAdapter = new ProjectsArrayAdapter(getActivity(), Projects.getInstance().getProjects());
    projectsList = (ListView) view.findViewById(R.id.listViewProjects);

    projectsList.setAdapter(projectsAdapter);

    //=========================================================================================
    //when you click on a project from the list
    //=========================================================================================

    //create onClickListener for listView items and launch project details fragment on click

    projectsList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            FragmentProject myProject = new FragmentProject();

            //grab the object you clicked on
            Bundle args = new Bundle();
            args.putInt("ARG_POSITION", position);
            myProject.setArguments(args);

            //launch project details fragment
            FragmentManager manager = getFragmentManager();
            FragmentTransaction transaction = manager.beginTransaction();
            transaction.add(R.id.main_layout, myProject);
            transaction.commit();
        }
    });

Почему я не могу создать этот новый адаптер массива?

1 ответ

Решение

Это произошло потому, что tasksAdapter был объявлен как ProjectsArrayAdapter вместо TasksArrayAdapter- ошибка копирования / вставки.

static TasksArrayAdapter tasksAdapter;