A problémám majdnem ugyanaz, mint a következővel: Stop AsyncTask in Fragments, when Back A gomb meg van nyomva
De le akarom állítani az AsyncTask-omat, amikor a vissza nyílra kattintanak. Van egy kódom az asynctask leállításához, és működik, ha más módon implementáltam. Kipróbáltam, amit eddig kutattam, de még mindig vannak hibák. Kérem, segítsen ebben.
Kipróbáltam ezt a kódot
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id=item.getItemId();
if(id==android.R.id.home)
{
Intent returnIntent = new Intent();
returnIntent.putExtra("flag",userid);
setResult(Activity.RESULT_OK,returnIntent);
finish();
return true;
}}
FRISSÍTVE: Ezzel a kóddal egy másik töredékhez lépek.
Fragment2 fragmentChild = new Fragment2 ();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.add(R.id.content, fragmentChild);
transaction.addToBackStack(null);
transaction.commit();
Nincs probléma a visszalépéssel, amikor egy másik töredékhez megyek. Ezután ezt a kódot (getSupportActionBar().setDisplayHomeAsUpEnabled(true)) használom a (Drawer.java) fájlban a vissza nyíl megjelenítéséhez. Most szeretném hozzáadni az eseményt, amikor a vissza nyílra kattintottam.
SZERKESZTÉS: (Drawer.java)
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
final ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
final View.OnClickListener originalToolbarListener = toggle.getToolbarNavigationClickListener();
getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
toggle.setDrawerIndicatorEnabled(false);
toggle.setToolbarNavigationClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getSupportFragmentManager().popBackStack();
}
});
} else {
toggle.setDrawerIndicatorEnabled(true);
toggle.setToolbarNavigationClickListener(originalToolbarListener);
}
}
});