我有类Activity1
扩展AppCompatActivity
和类Activity2
扩展AppCompatActivity
。我想在两个活动中调用相同的方法:
method(Activity1.this) - parameter (Activity1 activity)
method(Activity2.this) - parameter (Activity2 activity)
当然,这样的东西不起作用,有没有可能使用Bundle
或其他东西?我只是想有一个通用的方法,我可以传递不同的活动,然后调用它们的方法。
2条答案
按热度按时间7fyelxc51#
尝试传递Activity对象引用不是一个好主意。
AppCompatActivity
)并使Activity1
和Activity2
扩展BaseActivity
BaseActivity.java
Activity1.java
Activity2.java
Context
Obj作为方法参数传递。dl5txlt92#
如果你正在寻找两个独立的、不相关的类,并声明了相同的方法,那么
interface
就是你要找的。以下面的接口为例:你的两个Activity现在都可以
implement
这个接口,并将它们自己作为参数传递给extend AppCompatActivity
。同样地,您可以从另一个类引用您的Activity作为
MyInterface
的示例,例如。因为你的两个类都扩展了
AppCompatActivity
,所以Sagar's answer在这个示例中也同样可以工作。但是,这个解决方案将不考虑继承路径。编辑抱歉,我刚刚才注意到[Kotlin]标签,在问题中并不清楚。Kotlin的等效值是: