Ich habe meine App veröffentlicht. Es funktioniert reibungslos auf meinem Gerät. Aber ich bekomme ein paar Absturzberichte über die Spielekonsole. Aber ich konnte nicht herausfinden, wie ich damit umgehen sollte. Ich weiß, das Problem ist der Fortschrittsdialog. Was soll ich machen? Danke im Voraus.IllegalStateException asynctask - onPostExecute
Crash-Report:
java.lang.IllegalStateException:
at android.app.FragmentManagerImpl.checkStateLoss (FragmentManager.java:1328)
at android.app.FragmentManagerImpl.enqueueAction (FragmentManager.java:1346)
at android.app.BackStackRecord.commitInternal (BackStackRecord.java:729)
at android.app.BackStackRecord.commit (BackStackRecord.java:705)
at android.app.DialogFragment.dismissInternal (DialogFragment.java:292)
at android.app.DialogFragment.dismiss (DialogFragment.java:258)
at com.example.genesis.policeradiostream.TopFeedsFragment$Listeleme.onPostExecute (TopFeedsFragment.java:172)
at com.example.genesis.policeradiostream.TopFeedsFragment$Listeleme.onPostExecute (TopFeedsFragment.java:95)
at android.os.AsyncTask.finish (AsyncTask.java:636)
at android.os.AsyncTask.access$500 (AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage (AsyncTask.java:653)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:153)
at android.app.ActivityThread.main (ActivityThread.java:5254)
at java.lang.reflect.Method.invoke (Native Method)
at java.lang.reflect.Method.invoke (Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:902)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:697)
Und dieser Fehler aus diesem Fragment:
public class TopFeedsFragment Fragment erstreckt {
public static RadiosListAdapter adapter_3;
protected View mView;
FlipProgressDialog fpd = new FlipProgressDialog();
public TopFeedsFragment() {
}
@Override
public void onPause() {
super.onPause();
fpd.dismiss();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_top_feeds, container, false);
this.mView = view;
List<Integer> imageList = new ArrayList<Integer>();
imageList.add(R.drawable.img_progress_dialog_red_4);
imageList.add(R.drawable.img_progress_dialog_blue_4);
fpd.setImageList(imageList);
fpd.setCanceledOnTouchOutside(true);
fpd.setBackgroundColor(Color.TRANSPARENT);
fpd.setImageSize(600);
fpd.setOrientation("rotationY");
fpd.setDuration(400);
new Runnable() {
@Override
public void run() {
new Listeleme().execute();
}
}.run();
return view;
}
private class Listeleme extends AsyncTask<Void,Void,Void> // LINE 95
{
String URL="...";
@Override
protected void onPreExecute()
{
super.onPreExecute();
fpd.show(getActivity().getFragmentManager(),"");
}
@Override
protected Void doInBackground(Void... params) {
//...
//Some Jsoup
//...
return null;
}
@Override
protected void onPostExecute(Void avoid)
{
ListView listView_top = (ListView) mView.findViewById(R.id.listview_topfeeds);
if (getActivity()!= null) {
adapter_3 = new RadiosListAdapter(getActivity(), radioname, listener_number);
listView_top.setAdapter(adapter_3);
}
listView_top.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
PlayRadioFragment fragment= new PlayRadioFragment();
Bundle bundle= new Bundle();
//...
}
});
fpd.dismiss(); //LINE 172
}
}
}
zuerst überprüfen, ob Ihr Dialogfeld angezeigt wird, dann Anruf abweisen –
auch, überprüfen Sie dies: https://StackOverflow.com/Questions/10760809/how-can-you-handle-dismissing-a-dialogfragment-compatibility-lib- on-completi –
Jetzt verstehe ich, warum das passiert. Danke, aber in Kürze, kann ich das einfach mit "this" ergänzen? – PinkRabbits