ListView onItemClick启动另一个ListView - with Fragments



在启动时,我的应用程序启动一个片段,其中显示'projects'的listView。当我点击一个项目时,一个新的片段被启动,其中显示了项目的详细信息,包括'tasks'的另一个listView(每个项目对象可以包含许多任务)。

我有麻烦初始化第二个列表视图的arrayadapter。tasksAdapter = new TasksArrayAdapter(getActivity(),selectedProject.getTasks());

它无法编译,Android studio提供了以下原因:

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();
        }
    });

为什么我不能创建这个新的数组适配器?

这是因为tasksAdapter被声明为ProjectsArrayAdapter而不是TasksArrayAdapter-复制/粘贴错误。

static TasksArrayAdapter tasksAdapter;

最新更新