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

时间:2012-12-20 12:30:49

标签: android methods parent

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

// Tab refreshen
public void refreshTab (View v) {
    Activity MyActivity = this.getCurrentActivity();        
    MyActivity.Refresh();       
}

这就是抛出“方法刷新()未定义类型的活动。但是,”MyActivity“填充了选项卡活动。 我将如何让这个工作?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

做一些像:

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

如果您定义OnClickListener的方式是直接内联(但仍在您的活动类中),则可能需要添加一个小方向,其中MyClassType是您的类的名称扩展Activity

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