android组件动态添加

阅读更多
本人最近开发一款订餐应用,有一个是关于订餐数量的,本来打算用的是listview,但是那里的listview没有学会,在网上也没有找到好的代码,于是博主最近就直接用的动态添加组件了,跟大家分享一下,一般情况下如果是动态添加组件,首先我们可以在最原始xml文件中有一个最基本的布局,比如是linelayout此时我们可以可以在java代码中获取这个布局的id值
private LinearLayout shopinfo_content;shopinfo_content=(LinearLayout)findViewById(R.id.shopinfo_content);
在得到id后,比如我用的foods之中存储用户所买的所有数据,那么我们就可以动态生成一个相当于listview的表格了,
private void setshop(){
		shopinfo_content.removeAllViews();//移除所有组件  用以界面刷新
		LinearLayout line=new LinearLayout(ShoppingActivity.this);
		line.setClickable(true);
		line.setOrientation(LinearLayout.HORIZONTAL);
		final TextView shop_name=new TextView(ShoppingActivity.this);//名称
		shop_name.setText("名称");
		shop_name.setTextSize(18);
		shop_name.setTextColor(Color.BLACK);
		line.addView(shop_name);
		final TextView shop_price=new TextView(ShoppingActivity.this);//单价
		shop_price.setText("                单价");
		shop_price.setTextSize(18);
		shop_price.setTextColor(Color.BLACK);
		line.addView(shop_price);
		final TextView shop_number=new TextView(ShoppingActivity.this);//数量
		shop_number.setText("         数量");
		shop_number.setTextSize(18);
		shop_number.setTextColor(Color.BLACK);
		line.addView(shop_number);
		final TextView shop_thing=new TextView(ShoppingActivity.this);//操作
		shop_thing.setText("             操作");
		shop_thing.setTextSize(18);
		shop_thing.setGravity(Gravity.RIGHT);//居右对齐
		shop_thing.setTextColor(Color.BLACK);
		line.addView(shop_thing);
		shopinfo_content.addView(line);
		for(int i=0;i其中还可以对其进行监听,用不同的id进行标识,然后对其进行操作,其中的还可以刷新界面,将组件全部进行重构 

你可能感兴趣的:(android)