-1

I have activity in which randomly loaded fragment. And also there is a button that randomly changes the fragment. Are superimposed one on the other fragment. How to clear previous fragment?

Button btn = (Button) findViewById(R.id.btn);        
btn.setOnClickListener(new OnClickListener() {                      
    @Override
    public void onClick(View v) {initUI();}});

private void initUI() {     
    ft = getFragmentManager().beginTransaction();
    setRandomFragment();    
    }               
private void setRandomFragment() {                          
    Random random = new Random();
    int randomFragmentNum = random.nextInt(150);
    if (randomFragmentNum < 50) {
        randomFragmentNum = 0;      
        ft.addToBackStack(null);
        } else if (randomFragmentNum < 100) {
            randomFragmentNum = 1;    
            ft.addToBackStack(null);
            } else if (randomFragmentNum < 150) {
                randomFragmentNum = 2;                  
            }                   
    //random choose fragment
    switch (randomFragmentNum) {
        case 0: {
            fragment1 = new LevelOneMyach();
            ft.add(R.id.fragCont, fragment1);                       
            ft.commit();
            break;
        }
        case 1: {
            fragment2 = new LevelOneTucha();
            ft.add(R.id.fragCont, fragment2);                      
            ft.commit();
            break;
            }
        case 2: {
            fragment3 = new LevelOneIaschik();
            ft.add(R.id.fragCont, fragment3);                      
            ft.commit();
            break;
            }
        }    
    }
P. Dm
  • 125
  • 12

1 Answers1

1

Use this method

 Fragment fragment = getSupportFragmentManager().findFragmentByTag(TAG_FRAGMENT);
 if(fragment != null)
getSupportFragmentManager().beginTransaction().remove(fragment).commit();