java - 对方法的编程调用与用户通过 UI 发起的调用 - 当应用程序必须知道差异时如何处理这两者?

标签 java android callback

我有两个微调器,微调器 A 和微调器 B。当用户更改 A 时,B 会更新为一组全新的数据。我还为 B 实现了一个使用 setOnItemSelectedListener 的回调,这样我就可以在用户更改 B 时修改另一个类中的一些对象。

B.setOnItemSelectedListener(new OnItemSelectedListener() {
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        mComponentColor.setSelection(position);
        mCompColorAsBuilt[mComponent.getComponentSelection()] = position;
        setColor();     
    }
});

我遇到的问题是我真的不希望这些对象发生变化,除非用户是更改微调器的人。因为我会根据 A 的选择自动填充 B,所以当用户更改 A 时会调用 B 的回调。

有什么想法可以处理这种情况吗?

最佳答案

我基本上最终使用与上述标志方法类似的方法解决了这个问题,但它是在调用 onClickListener 方法时调整的对象内部完成的。

基本上,通过记住微调器的最后状态,我会在调整其中的任何对象之前进行检查。如果状态相同,则什么都不会改变。幸运的是,所有的对象调整都是由另一个类完成的,这使得它相对容易处理。我对此不太满意,但我认为它最终比在 Activity 类中使用标志要好。

感谢那些做出贡献的人。

关于java - 对方法的编程调用与用户通过 UI 发起的调用 - 当应用程序必须知道差异时如何处理这两者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4331023/

相关文章:

javascript - AngularJS、回调和变量范围

java - 在循环内的 Highcharts 中创建多个系列

java 堆栈搜索

javascript - 点击功能在移动设备上无法正常工作

java - 我的应用程序显示 "The application may be doing too much work on its main thread.",我不知道代码的哪一部分导致了此问题

javascript - Node js返回回调函数中设置的全局变量

python - 以下超链接和 "Filtered offsite request"

java - JIRA IssueInputParameters - 指定问题值的构建器

java - 在 Java 中使用证书文件进行 SSL 身份验证

android - 如何在Android中登录而不会崩溃?