Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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
Android 视图中的模型实例抽象级别';s使用MVP更新函数_Android_Mvp - Fatal编程技术网

Android 视图中的模型实例抽象级别';s使用MVP更新函数

Android 视图中的模型实例抽象级别';s使用MVP更新函数,android,mvp,Android,Mvp,当我读到MVP是开发Android应用程序的一种非常好的模式时,我开始研究MVP 我有一个类(模型),例如: public class Level { int difficulty; int enemies; public int getXpReward() { return enemies * difficulty; } } public class LevelView extends FrameLayout { TextView

当我读到MVP是开发Android应用程序的一种非常好的模式时,我开始研究MVP

我有一个类(模型),例如:

public class Level {
    int difficulty;
    int enemies;

    public int getXpReward() {
        return enemies * difficulty;
    }
}
public class LevelView extends FrameLayout { 
    TextView xpRewardTextView;

    /*ctr and view init......codehere*/

    public updateOptionOne(Level level) {
        xpRewardTextView.setText(Integer.toString(level.getXpReward()));
    }

    public updateOptionTwo(int xpReward) {
        xpRewardTextView.setText(Integer.toString(xpReward));
    }
}
我还有另一个类(视图),例如:

public class Level {
    int difficulty;
    int enemies;

    public int getXpReward() {
        return enemies * difficulty;
    }
}
public class LevelView extends FrameLayout { 
    TextView xpRewardTextView;

    /*ctr and view init......codehere*/

    public updateOptionOne(Level level) {
        xpRewardTextView.setText(Integer.toString(level.getXpReward()));
    }

    public updateOptionTwo(int xpReward) {
        xpRewardTextView.setText(Integer.toString(xpReward));
    }
}
我是否应该从我的演示者调用optionOne函数以便传递整个级别实例?

比如:

我是否应该从我的演示者调用optionTwo函数,以便只将我们需要的数据传递给视图,就像只传递JAVA类型属性一样

比如:


因此,基本上我的问题是视图是否可以将模型类型作为其更新函数的参数?因为我阅读了一篇关于视图的MVP原则,该原则不应了解任何关于模型的内容。

在这种情况下,是的,请尽量保持视图的简单


对于更大、更复杂的应用程序,有时需要类在视图和演示者之间进行通信。在这种情况下,您应该有一个视图层的模型和一个数据层的模型,并在表示层转换它们。

在这种情况下,是的,请尽量保持视图的简单


对于更大、更复杂的应用程序,有时需要类在视图和演示者之间进行通信。在这种情况下,您应该有一个视图层的模型和一个数据层的模型,并在表示层转换它们。

是的,视图不应该知道关于模型的任何信息,选项二是最佳操作方案是的,视图不应该知道关于模型的任何信息,选项二是最佳操作方案