我有一个类控制器。这个类是一个公共接口,包含我可以从我的Activity中执行的所有方法。以下是我的控制器类:
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");
}
}
在库控制器中有一个解析Web服务的Asynctask,并且Asynctask的执行后执行控制器类的库初始化方法。
我从我的android项目调用控制器类:
Textview view=(TextView)FindViewbyId(someid);
Controller controller=new Controller(viewCallingActivity.this,view);
controller.initialize("appname","3.4.0");
现在的问题是如果我在我的设备上从eclipse运行这个小应用程序它工作得很好并且在设备中给我一个消息“在库初始化”但是当我从启动器图标打开它时它没有给我消息“在库初始化”
我不知道究竟是什么问题?
任何帮助都会非常明显。
答案 0 :(得分:1)
尝试关闭已安装的应用 - 通过应用管理器(强制停止)在您的设备上进行困难,然后再次启动它。您的方法可能无法调用,因为当您通过“后退按钮”关闭Activity
时,应用程序的Dalvik流程仍然在后台,可能会被Android重复使用。如果这是一个原因,我建议你阅读这个问题和答案
How to kill my own Activity - the hard way