【问题标题】:How do I call a method of a running child activity from a parent activity?如何从父活动调用正在运行的子活动的方法?
【发布时间】:2012-12-07 23:30:51
【问题描述】:

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

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

这是抛出“Activity 类型的方法 Refresh() 未定义。但是,“MyActivity”充满了选项卡活动。 我该如何让它发挥作用?

【问题讨论】:

    标签: android methods parent


    【解决方案1】:

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

    只需执行以下操作:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-04
        • 2013-12-21
        • 1970-01-01
        • 2012-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多