我有一个类 Controller 。该类是一个公共(public)接口(interface),包含我可以从 Activity 执行的所有方法。以下是我的 Controller 类:
public class Controller {
private Activity activity;
private TextView parentView;
public Controller(Activity activity,Textview view) {
this.activity = activity;
this.parentView=view;
}
public void initialize(String app, String rel) {
this.app = app;
this.rel = rel;
Controller.controller = new LibraryController(activity,
this);
Controller.controller.initialize(app, rel);
}
public void libraryInitialised() {
parentView.setText("in library initiliase");
}
}
在库 Controller 中,有一个 Asynctask 解析 Web 服务,并且 Asynctask 执行后执行 Controller 类的库初始化方法。
我从我的 android 项目中调用 Controller 类:
Textview view=(TextView)FindViewbyId(someid);
Controller controller=new Controller(viewCallingActivity.this,view);
controller.initialize("appname","3.4.0");
现在的问题是,如果我在设备上从 eclipse 运行这个小应用程序,它运行得很好,并在设备中给我一条消息“在库初始化”,但是当我从启动器图标打开它时,它不会给我消息“在库中初始化”
我不知道到底是什么问题?
任何帮助都将非常感激。
最佳答案
尝试通过设备上的应用程序管理器(强制停止)硬关闭已安装的应用程序,然后再次启动它。您的方法可能不会被调用,因为当您通过“后退按钮”关闭 Activity
时,应用程序的 Dalvik 进程仍然在后台徘徊,以供 Android 重用。如果这是一个原因,我建议您阅读此问题和答案
How to kill my own Activity - the hard way
关于java - Activity UI修改不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15565878/