In meiner App mache ich eine Netzwerkoperation in einem Thread. Im Ergebnis der Netzwerkoperation zeige ich einen Toast und ersetze das Fragment mit der runOnUiThread() Methode. Aber die App wird gehängt, nachdem das Fragment ersetzt wurde.App hängt beim Ausführen von Fragment-Transaktion in runOnUiThread
Hier ist mein Code
getBaseActivity().runOnUiThread(() -> {
hideProgressDialog();
showToastAlertDialog(getString(R.string.mystring));
MyFragment fragment = new MyFragment();
getBaseActivity().replaceFragment(getActivity(), fragment, false, R.id.baseFragment);
BaseActivity.java
public void replaceFragment(FragmentActivity activity, Fragment fragment, boolean addToBackStack, int baseFragment) {
try {
FragmentTransaction ft = activity.getSupportFragmentManager().beginTransaction();
ft.replace(baseFragment, fragment);
if (addToBackStack) {
ft.addToBackStack(null);
}
ft.commit();
} catch (Exception exception) {
CXLog.e(TAG, "Exception: " + exception.getLocalizedMessage(), exception);
}
}
Sie AsyncTask für den Netzbetrieb verwenden können. –
Erzählst du etwas im LogCat? Wie lange hängt die App? – Sufian
Ist diese Frage überhaupt falsch? Was ist der Grund für eine negative Note? – Madhan