1

私の親クラスは子アクティビティを正しく開きますが、この子アクティビティを this.finish() または getCurrentActivity().finish() で閉じようとすると、強制終了エラーが発生します。getParent().finish() を使用すると親アクティビティが閉じられることがわかっているため、これは子アクティビティを閉じることができることを意味します。

検索して getLocalActivityManager() にたどり着きます。これが、タブ グループの子アクティビティを閉じるための鍵だと思います。しかし、これをどのように適用するのですか?私は試していますが、無益です。

子アクティビティを閉じる方法は次のとおりです。

public void onClick(View v) {

    switch(v.getId()){
    case R.id.back:

        final LocalActivityManager manager = getLocalActivityManager();
        manager.getCurrentActivity().finish();

        break;

    }
}

私のログキャット

12-02 21:08:15.494: E/AndroidRuntime(27064): FATAL EXCEPTION: main

12-02 21:08:15.494: E/AndroidRuntime(27064): java.lang.NullPointerException
12-02 21:08:15.494: E/AndroidRuntime(27064):    at package.name.tabgroup.TabGroupActivity.finishFromChild(TabGroupActivity.java:49)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at android.app.Activity.finish(Activity.java:3259)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at ..itemlist.OdiamListDetails.onClick(OdiamListDetails.java:78)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at android.view.View.performClick(View.java:2538)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at android.view.View$PerformClick.run(View.java:9152)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at android.os.Handler.handleCallback(Handler.java:587)


12-02 21:08:15.494: E/AndroidRuntime(27064):    at 
android.os.Handler.dispatchMessage(Handler.java:92)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at android.os.Looper.loop(Looper.java:130)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at android.app.ActivityThread.main(ActivityThread.java:3687)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at java.lang.reflect.Method.invokeNative(Native Method)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at java.lang.reflect.Method.invoke(Method.java:507)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)

12-02 21:08:15.494: E/AndroidRuntime(27064):    at dalvik.system.NativeStart.main(Native Method)
4

0 に答える 0