【问题标题】:Should all Views be stateless components?所有视图都应该是无状态组件吗?
【发布时间】:2018-04-24 13:05:07
【问题描述】:

假设我们必须为切换按钮编写自定义视图。

切换按钮通常具有以下两个特征: - 是否可点击(即会以某种方式报告点击事件) - 有一个状态(开/关)

我们应该把让切换按钮在点击时切换状态的代码放在哪里? 它是否属于自定义视图本身? 视图是否应该完全“愚蠢”并且只报告让业务逻辑设置其开/关状态的点击(例如,通过视图上的 setState() API)。 这两种方法的优缺点是什么?

假设在我们的代码库中,我们希望尽可能让业务逻辑处理应用程序状态,让视图只处理它们的“渲染”:上述问题的答案在这方面将如何变化?

【问题讨论】:

    标签: android user-interface widget android-view


    【解决方案1】:

    我们应该把制作切换按钮的代码放在哪里 点击时切换状态?

    一个Widget运行在设备的主屏幕上,所以需要用PendingIntent调用业务逻辑

    here 你可以找到一个有效的解释,而且这个blog 给出了一些工作示例,甚至更复杂

    Clickable widgets in android

    【讨论】:

    • 我使用“UI 小部件”一词的一般含义(不是 Android)。所以在android中意味着“View”(或扩展android.view.View的类)。我会尝试相应地更改问题标题。
    • 当然,让我知道是否要使用 Pending Intent。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    • 2010-10-07
    相关资源
    最近更新 更多