大叔程序员的第九天 @动态添加Layout--用Radio进行切换
压力一级级下传,越来越大
private View in;
private LinearLayout box;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
box = (LinearLayout)findViewById(R.id.box);
in = View.inflate(this, R.layout.inside, null); //添加子页面
box.addView(in);
}
动态添加一个子Layout至父Layout中去
再增加用RadioGroup进行切换,主要是View.inflate()方法及checkedId的判断,还有是Layout对象的removeAllView方法和addView方法
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); box = (LinearLayout)findViewById(R.id.box); radio = (RadioGroup)findViewById(R.id.radioGroup1); btn0 = (RadioButton)findViewById(R.id.radio0); btn1 = (RadioButton)findViewById(R.id.radio1); btn2 = (RadioButton)findViewById(R.id.radio2); box.addView(View.inflate(MainActivity.this, R.layout.taobao,null)); //添加子页面 radio.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { int i=0; if(btn0.getId()==checkedId){ i=0; }else if(btn1.getId()==checkedId){ i=1; }else if(btn1.getId()==checkedId){ i=2; }else{} switch(i){ case 0: box.removeAllViews(); box.addView(View.inflate(MainActivity.this, R.layout.taobao,null)); //添加子页面 break; case 1: Log.v("xxx","yyy"); box.removeAllViews(); box.addView(View.inflate(MainActivity.this, R.layout.product, null)); //添加子页面 break; case 2: box.removeAllViews(); box.addView(View.inflate(MainActivity.this, R.layout.service, null)); //添加子页面 break; } } }); }