2011-09-25 7 views
0

제목으로 일부 기사를 읽었습니다. 그리고 저는 그렇게하도록 썼습니다. 내가tabactivity 내에서 단일 활동 다시 시작

TabManager.restart("tid4", MyActivity.class); 

했을 때

public class TabManager { 
    private static Context tabAct; 
    private static final String TAG = "TabManager"; 

    public static void setTabActivity(Context t) { 
     Log.i(TAG, "setTabActivity"); 
     tabAct = t; 
    } 

    public static void restart(String tid, Class act) { 
     Log.i(TAG, "restart " + tid); 
     LocalActivityManager manager = ((ActivityGroup) tabAct).getLocalActivityManager(); 
     manager.destroyActivity(tid, true); 
     manager.startActivity(tid, new Intent(tabAct, act)); 
    } 
} 

그러나 활동은 파괴되었다하지만 그것은 시작되지 않았습니다. 누군가가 조언을 해줄 수 있습니까? 감사합니다.

+0

wt error logcat에 표시 되니? – Ronnie

+0

위 소스를 만들었을 때 예외가 발생하지 않았습니다. 그리고 화면은 아무 것도 바뀌지 않았습니다. 하지만 다른 태그를 클릭하고 다시 클릭했을 때. 그것은 NullPointerException을 던졌습니다. – cht

+0

재시작을 요청할 때'startactivity'를 호출하기 때문에 logcat을 확인하십시오. 그래서 그것은 활동을 시작하지 못한 이유에 대해 (예외는 아닐지라도) 약간의 오류를 줄 것입니다. – Ronnie

답변

0

LocalActivityManager의 설명서를 살펴보십시오. 일부 조건을 충족하는 경우 startActivity으로 전화가 활동을 다시 시작합니다. 따라서 destroyActivity으로 전화하지 않아도됩니다.

+0

이 일을 ..? – Ronnie