Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从父活动调用正在运行的子活动的方法?_Android_Methods_Parent - Fatal编程技术网

Android 如何从父活动调用正在运行的子活动的方法?

Android 如何从父活动调用正在运行的子活动的方法?,android,methods,parent,Android,Methods,Parent,我正在开发一个android应用程序,它有3个选项卡,在MainActivity.java中创建。每个选项卡都有自己的活动。在这些活动中,我有一个名为“Refresh()”的方法来更新该选项卡中的listview。 当用户单击按钮时,将调用“refreshTab(视图v)”方法 // Tab refreshen public void refreshTab (View v) { Activity MyActivity = this.getCurrentActivity();

我正在开发一个android应用程序,它有3个选项卡,在MainActivity.java中创建。每个选项卡都有自己的活动。在这些活动中,我有一个名为“Refresh()”的方法来更新该选项卡中的listview。 当用户单击按钮时,将调用“refreshTab(视图v)”方法

// Tab refreshen
public void refreshTab (View v) {
    Activity MyActivity = this.getCurrentActivity();        
    MyActivity.Refresh();       
}
这是在抛出“类型活动的方法Refresh()未定义。但是,“MyActivity”用tab活动填充。
我该如何让它工作?

您需要将活动转换为您的活动类型。现在您正在尝试调用Android类活动,它没有“刷新”功能。

您的按钮处理程序有点过于复杂(即使只有两行)

只需做如下操作:

// Tab refreshen
public void refreshTab (View v) {  
    Refresh();       
}
如果定义
OnClickListener
的方式是直接内联的(但仍在活动的类中),则可能需要添加一个小方向,其中
MyClassType
是扩展
活动的类的名称:

// Tab refreshen
public void refreshTab (View v) {  
    MyClassType.this.Refresh();       
}