1
錯誤,主碎片活動已被破壞。
我的片段孩子Profile_album_details代碼:
case R.id.ib_photo_delete:
String stringiq = "";
NewTask.iq = new CustomIQ("<albummanagement xmlns='naseebalbum' action='deletepicture'><albumname>"+album.getAlbum_name()+"</albumname><picturetitle>"+picture.getTitle()+"</picturetitle></albummanagement>");
NewTask.iq.setType(IQ.Type.SET);
new NewTask(context).execute();
while(NewTask.connection.isAuthenticated() == false){}
Profile_album_details.pictures.remove(imageno);
Profile_display_photo.pictures = Profile_album_details.pictures;
new MainActivity().updateTab(new Profile_album_details(), R.id.tab2,true);
主要活動父片段類:
public void updateTab(Fragment frg,
int place_holder, boolean addTobackStack)
{
// TODO Auto-generated method stub
FragmentTransaction ft=getFragmentManager().beginTransaction();
ft.replace(place_holder, frg);
// ft.setTransition(transaction);
if(addTobackStack)
ft.addToBackStack(null);
ft.commit();
}
> 10-02 15:25:55.061: E/AndroidRuntime(1920): FATAL EXCEPTION: main
> 10-02 15:25:55.061: E/AndroidRuntime(1920): java.lang.IllegalStateException: Activity has been destroyed
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1333)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.app.BackStackRecord.commit(BackStackRecord.java:574)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at com.example.tabs.MainActivity.updateTab(MainActivity.java:166)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at com.example.tabs.MainActivity.launchNewFragment(MainActivity.java:175)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at adapters.Profile_display_photo.onClick(Profile_display_photo.java:164)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.view.View.performClick(View.java:4240)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.view.View$PerformClick.run(View.java:17721)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.os.Handler.handleCallback(Handler.java:730)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.os.Handler.dispatchMessage(Handler.java:92)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.os.Looper.loop(Looper.java:137)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at android.app.ActivityThread.main(ActivityThread.java:5103)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at java.lang.reflect.Method.invokeNative(Native Method)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at java.lang.reflect.Method.invoke(Method.java:525)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
> 10-02 15:25:55.061: E/AndroidRuntime(1920): at dalvik.system.NativeStart.main(Native Method)
也許是一個愚蠢的問題,但你真的摧毀/完成自己的活動?在fragmenttranstitoin.commit()後破壞了fragment的活動( – momo 2014-10-02 11:01:31
) – 2014-10-02 12:31:32