在另一个非activity类中如何调用并操作当前activity界面上的元素?

lopop
  • 286

初学,在尝试自己写。先谢过各位!

大家都回家得很好,已经有思路了也学到了很多,再次感谢。

回复
阅读 4.9k
4 个回答

如果你说的类activity持有实例,那直接把view的实例传给它就可以操作了,不过一般还是会在activity中写一个方法操作view,然后让其他类调用这个方法,因为view的实例的创建和销毁跟activity的生命周期有关,所以最好不要让activity之外的类直接持有操作这个activity中的view,另外注意要在UI线程操作view就行了

非activity?是fragment?service?还是什么?不管你是哪里更新,都是他们之间通信的问题。
建议:
1.可以使用接口进行通信
2.可以使用EventBar事件总线开源库,这样你又可以学习一个开源库的使用

你说的是非Activity的class中进行View的操作,这样目前大多数采用MVP开发模式,使用接口回调机制来操作View,但是MVP存在利弊,MVP对View的操作一定要做好对View的持久化处理。

首先你要知道你的这个类与这个activity的关系,假如是一个帮助类,那么这个activity应该会有这个类的实例的,那么你只需要调用这个实例的某个对应方法,如果这个类需要操作activity里面的某个view对象或其他什么对象,那么久把这个对象作为参数传入那个方法里面。
假如是其他类,如service或广播什么的,就学习下这些组建的用法
希望对你有帮助、、

宣传栏