0

私は 1 つのクラス コントローラーを持っています。このクラスはパブリック インターフェイスであり、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からこの小さなアプリを実行すると、非常にうまく機能し、デバイスで「ライブラリ初期化中」というメッセージが表示されますが、ランチャーアイコンから開いたときに「ライブラリ内」というメッセージが表示されないことです初期化」

何が問題なのか正確にはわかりませんか?

どんな助けも非常に高く評価されます。

4

1 に答える 1

1

インストール済みのアプリを閉じてみてください - お使いのデバイスのアプリ マネージャー (強制停止) による困難な方法で、もう一度起動してください。「戻るボタン」で閉じActivityているときに、アプリケーションの Dalvik プロセスがまだバックグラウンドでぶらぶらしているため、メソッドが呼び出されない可能性があります。Android による再利用の可能性があります。これが理由である場合は、この質問と回答を読むことをお勧めします
自分のアクティビティを殺す方法 - 難しい方法

于 2013-03-22T10:35:25.963 に答える