您的位置:首页 > 职场人生

大叔程序员的第九天 @动态添加Layout--用Radio进行切换

2013-03-13 15:33 387 查看
压力一级级下传,越来越大

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;
}

}
});

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: