0

新手警报!

这是情况。我有一个 Android ListActivity 类 (AppWindow),其中包含为我的应用程序创建和更新 UI 的所有方法。它包括一个调用 setListAdapter 的方法 (refreshWindow),因此必须是非静态的。到目前为止,我一直在使用一个单独的类 (FileHandler) 来对 AppWindow 类引用的文件执行操作。当执行了某个文件操作时,我已经到了想要调用 refreshWindow 方法的地步。但是,由于 refreshWindow 方法是非静态的,看来我需要实例化 AppWindow 并通过该实例调用该方法。但是,我不确定如何做到这一点,或者这是否是一个好主意。也许我只需要将所有 FileHandler 逻辑移到 AppWindow 中,尽管我'

下面以代码形式对情况进行说明:

应用程序窗口.java

...

public class AppWindow extends ListActivity {

...

    void refreshWindow() {

    ...

    setListAdapter(new ListAdapter());

    ...

    }

...

}

文件处理程序.java

...

class FileHandler extends Activity {

...

    static void doStuffToFiles() {

    ...

    AppWindow appWindow = new AppWindow();
    appWindow.refreshWindow();

    ...

    }

...

}

我应该这样做吗?如果是这样,我该如何正确实例化 AppWindow?

4

2 回答 2

2
  1. 创建静态成员变量;说行动;在文件处理程序中
  2. 在创建 ListActivity 时,使用活动的“this”变量设置变量 act
  3. 现在您可以从 FileHandler 访问活动实例。
于 2012-04-06T05:38:18.900 回答
0

更新 UI 必须在 UI 线程中。您可以使用处理程序来处理消息。处理程序的构造函数可以包含活动,因此您可以使用它。

于 2012-04-06T06:02:05.777 回答