import android.support.annotation.IdRes
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentActivity
import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentTransaction
import android.os.Bundle
import android.widget.RadioGroup
import com.bwlq.fragment.Frag1
import com.bwlq.fragment.Frag2
import com.bwlq.fragment.Frag3
import java.util.ArrayList
import java.util.List
public class MainActivity extends FragmentActivity {
private FragmentManager supportFragmentManager
private RadioGroup radioGroup
private Frag1 frag1
private Frag2 frag2
private Frag3 frag3
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
radioGroup = (RadioGroup) findViewById(R.id.rg)
supportFragmentManager = getSupportFragmentManager()
FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction()
frag1 = new Frag1()
fragmentTransaction.add(R.id.fl, frag1).commit()
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
hideFragmentAll()
FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction()
switch (i) {
case R.id.rb1:
fragmentTransaction.show(frag1).commit()
break
case R.id.rb2:
if (frag2 == null) {
frag2 = new Frag2()
fragmentTransaction.add(R.id.fl, frag2).commit()
} else {
fragmentTransaction.show(frag2).commit()
}
break
case R.id.rb3:
if (frag3 == null) {
frag3 = new Frag3()
fragmentTransaction.add(R.id.fl, frag3).commit()
} else {
fragmentTransaction.show(frag3).commit()
}
break
}
}
})
}
private void hideFragmentAll() {
FragmentTransaction fragmentTransaction = supportFragmentManager.beginTransaction()
if (frag1 != null && frag1.isAdded()) {
fragmentTransaction.hide(frag1)
}
if (frag2 != null && frag2.isAdded()) {
fragmentTransaction.hide(frag2)
}
if (frag3 != null && frag3.isAdded()) {
fragmentTransaction.hide(frag3)
}
fragmentTransaction.commit()
}
}