单击空白区域下一个片段Automaticall调用

时间:2015-10-01 07:31:05

标签: android list android-fragments android-listfragment

我在第一个片段列表项的条件下打开了3个片段点击>>第二个片段打开等等。但是当我点击第一个片段的空白区域时,它会自动打开第二个片段并点击第二个片段的空白区域,然后转到第三个片段

这是我为片段交易维护的类

public static void addABCDHomeFragment(FragmentManager fragManager, String categoryName) {
    FragmentTransaction ft = fragManager.beginTransaction();
    Fragment abcdHomeFragment = fragManager.findFragmentByTag(ABCD_HOME_FRAGMENT);
    if (abcdHomeFragment == null || abcdHomeFragment.isRemoving()) {
        ABCDHomeFragment homeFragment = new ABCDHomeFragment(categoryName);
        ft.add(R.id.frame_layout, homeFragment, ABCD_HOME_FRAGMENT);
        ft.addToBackStack(ABCD_HOME_FRAGMENT);
        ft.commit();
    } else if (abcdHomeFragment != null && abcdHomeFragment.isAdded()) {
        fragManager.popBackStack();
        ABCDHomeFragment homeFragment = new ABCDHomeFragment(categoryName);
        ft.replace(R.id.frame_layout, homeFragment, ABCD_HOME_FRAGMENT);
        ft.addToBackStack(ABCD_HOME_FRAGMENT);
        ft.commit();
    }
}

public static void addProductListFragment(FragmentManager fragmentManager,String categoryId , 
        String parent , int option) {
    FragmentTransaction ftproductlist = fragmentManager.beginTransaction();
    Fragment plistFragment = fragmentManager.findFragmentByTag(PRODUCT_LIST_FRAGMENT);
    ProductListFragment productListFragment = new ProductListFragment(categoryId,parent,option);
    if (plistFragment != null && plistFragment.isAdded() && plistFragment.isVisible()) {
        fragmentManager.popBackStack();
        ftproductlist.add(R.id.frame_layout, productListFragment,PRODUCT_LIST_FRAGMENT);
        ftproductlist.addToBackStack(PRODUCT_LIST_FRAGMENT);
        ftproductlist.commit();
    } else {
        ftproductlist.replace(R.id.frame_layout, productListFragment, PRODUCT_LIST_FRAGMENT);
        ftproductlist.addToBackStack(PRODUCT_LIST_FRAGMENT);
        ftproductlist.commit();
    }
}

public static void removeProductListFragment(FragmentManager fragmentManager) {
    FragmentTransaction ftproductlist = fragmentManager.beginTransaction();
    Fragment productListFragment = fragmentManager.findFragmentByTag(PRODUCT_LIST_FRAGMENT);
    if (productListFragment != null && productListFragment.isAdded()) {
        ftproductlist.remove(productListFragment);
        fragmentManager.popBackStack();
        ftproductlist.commit();
    }
}

public static void addProductDetailFragment(FragmentManager fragManager,String productId,String parent, String productName) {
    FragmentTransaction ftproduct = fragManager.beginTransaction();
    Fragment productDetailFragment = fragManager.findFragmentByTag(PRODUCT_DETAIL_FRAGMENT);
    if (productDetailFragment == null || productDetailFragment.isRemoving()) {
        ProductDetailFragment dtailFragment = new ProductDetailFragment(productId, parent,productName);
        ftproduct.add(R.id.frame_layout, dtailFragment, PRODUCT_DETAIL_FRAGMENT);
        ftproduct.addToBackStack(PRODUCT_DETAIL_FRAGMENT);
        ftproduct.commit();
    } else if (productDetailFragment != null && productDetailFragment.isAdded()) {
        fragManager.popBackStack();
        ProductDetailFragment dtailFragment = new ProductDetailFragment(productId,parent,productName);
        ftproduct.replace(R.id.frame_layout, dtailFragment,PRODUCT_DETAIL_FRAGMENT);
        ftproduct.addToBackStack(PRODUCT_DETAIL_FRAGMENT);
        ftproduct.commit();
    }
}

0 个答案:

没有答案