Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “一个”在哪里;适配器“;是否适合MVP(被动视图)?_Java_Android_Swing - Fatal编程技术网

Java “一个”在哪里;适配器“;是否适合MVP(被动视图)?

Java “一个”在哪里;适配器“;是否适合MVP(被动视图)?,java,android,swing,Java,Android,Swing,我一直在用我认为是被动MVP的东西来实现我的android应用程序 例如,在我的视图类中,我有一个ListView 看法 当单击一个项目时,我简单地调用演示者上的一个方法 userListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int p

我一直在用我认为是被动MVP的东西来实现我的android应用程序

例如,在我的视图类中,我有一个ListView

看法 当单击一个项目时,我简单地调用演示者上的一个方法

userListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        mPresenter.onUserSelected(position);

    }

});
当我想改变某些事情时,我会这样做:

mUserList.add(user);
adapter.notifyDataSetChanged();

这是适配器的正确位置吗?我问这个问题的原因是因为我最近想用swing做一些工作,出现了一个类似的问题,JLists需要一个看起来非常相似的ListModel。那么对于swing,ListModel应该驻留在哪里呢

我相信您已经正确地将适配器归类为演示者

演示者是适配器


适配器充当视图(ListView)和模型(用户列表)之间的中间人,并通过适配器的getView方法提供列表中每个项目的视图表示。

在MVP模式中,视图层应包含所有平台依赖项。看看这个


处理您可以使用的适配器抽象。

您可能正在寻找将现有组件模型与应用程序模型匹配所需的适配器抽象。否,问题更多地与MVP模式相关。在mvp中,我似乎应该告诉视图使用新数据更新某个小部件,但由于在这种情况下小部件需要适配器,我不确定适配器是属于视图还是演示者。我不确定这是否真的重要,但它正在折磨我的大脑。让我给它一天左右的时间,看看我是否还有其他想法,否则我会接受你的回答。有点像免费的:)我不这么认为。据我所知,适配器也是一个视图,它可能还有一个演示者。
private ArrayList<User> mUserList = new ArrayList<User>();
adapter = new UserListAdapter(getContext(), mUserList);
mView.setUserListAdapter(adapter);
mUserList.add(user);
adapter.notifyDataSetChanged();