请问在一个类中如何调用MainActivity的函数
时间: 2023-05-29 20:02:10 浏览: 73
有多种方式可以在一个类中调用MainActivity的函数,具体如下:
1. 通过全局变量方式调用:
在MainActivity中定义一个public static的全局变量,可以是一个对象或者一个方法,然后在另一个类中通过MainActivity变量名.方法名()的方式来调用。例如:
MainActivity.java
```
public class MainActivity extends AppCompatActivity {
public static void myMethod() {
// do something
}
}
OtherClass.java
public class OtherClass {
public void anotherMethod() {
MainActivity.myMethod();
}
}
```
2. 通过构造函数方式调用:
在OtherClass中创建一个构造函数,构造函数的参数传递一个MainActivity类型的对象,然后在OtherClass中调用MainActivity对象的方法即可。例如:
MainActivity.java
```
public class MainActivity extends AppCompatActivity {
public void myMethod() {
// do something
}
}
OtherClass.java
public class OtherClass {
private MainActivity mainActivity;
public OtherClass(MainActivity activity) {
this.mainActivity = activity;
}
public void anotherMethod() {
mainActivity.myMethod();
}
}
```
3. 通过接口方式调用:
在OtherClass中定义一个接口,将MainActivity对象作为参数传递给OtherClass对象,并在接口中定义需要调用的方法。在MainActivity中实现接口方法即可。例如:
MainActivity.java
```
public class MainActivity extends AppCompatActivity implements MyInterface {
@Override
public void myMethod() {
// do something
}
}
MyInterface.java
public interface MyInterface {
void myMethod();
}
OtherClass.java
public class OtherClass {
private MyInterface myInterface;
public OtherClass(MyInterface myInterface) {
this.myInterface = myInterface;
}
public void anotherMethod() {
myInterface.myMethod();
}
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)