Android 动态添加view
来源:互联网 发布:燕十八php教程怎么样 编辑:程序博客网 时间:2024/05/21 10:53
Android 动态添加view
第一次写博客,记录一下平时出现bug。
这两天写一个东西,要动态的循环的添加一个layout,走了一点弯路,说实话,我也是一个android菜鸟,好记性不如烂笔头,现在记录下来,以免以后在遇到这样的坑。
进入主题,直接上代码
private void initAttributesView(List attributes) {
// TODO Auto-generated method stub
for (int i = 0; i < attributes.size(); i++) {
//这里一定要new 新的实例,不然怎么运行都添加不了一个wiew;
//View.inflate(context, R.layout.lv_item_service_standar_gv, this);之前这样写,结果怎么都不好使。
GridViewItemView view = new GridViewItemView(ServiceStandardActivity.this);
final ServiceStandOrderByGvAdapter mAdapter = new ServiceStandOrderByGvAdapter(ServiceStandardActivity.this);
TextView attributesName = (TextView) view.findViewById(R.id.service_standar_attrName);
ScrollViewItemGv attributesGv = (ScrollViewItemGv) view.findViewById(R.id.service_standar_gv);
attributesName.setText(attributes.get(i).getAttrName());
mAdapter.setBindData(attributes.get(i).getOptions());
mAdapter.setMapKey(attributes.get(i).getAttrId());
mAdapter.setAdapterCallBack(mCallback);
list.add(mAdapter);
listGv.add(attributesGv);
listGv.get(i).setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
mCarOrder.addView(view);
listGv.get(i).setOnItemClickListener(new OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub mAdapter.setSeclection(position); Options options = mAdapter.getItem(position); setItemView(options, mAdapter); } }); } } private void setItemView(Options options, ServiceStandOrderByGvAdapter mAdapter) { if (options != null) { mCarSelectType.setText(options.getOptionName()); mCarSelectNub.setText(options.getRecommendDesc()); mCarSelectDesc.setText(options.getRecommendDetail()); mCarSelectUseDesc.setText(options.getBrandDesc()); optionIdsMap.put(mAdapter.getMapKey(), options.getOptionId()); if (!TextUtils.isEmpty(options.getDescriptionUrl())) { morlLoding = options.getDescriptionUrl(); } if (!TextUtils.isEmpty(options.getRecommendDesc()) && !TextUtils.isEmpty(options.getRecommendDetail())) { mCarSelectLay.setVisibility(View.VISIBLE); } if (!TextUtils.isEmpty(options.getBrandDesc())) { mServiceStandardButtonLay.setVisibility(View.VISIBLE); } } Animation anim1 = AnimationUtils.loadAnimation(getContext(), R.anim.layout_out_to_left); mCarSelectLay.setAnimation(anim1); if (optionIdsMap.size() > 1) { mCarSelectBuss.setClickable(true); } mAdapter.notifyDataSetChanged(); }
//这个就是实例化的layout
public class GridViewItemView extends LinearLayout {
private Context context;
public GridViewItemView(Context c) { super(c); // TODO Auto-generated constructor stub context = c; initView();}private void initView() { View.inflate(context, R.layout.lv_item_service_standar_gv, this);}
}
布局文件就不添加 了,这是我们现在开发的项目文件。把主要的思路和代码拿出来就行了、、、
- Android 动态添加View
- Android 动态添加View
- android动态添加view
- Android 动态添加view
- android动态添加View
- Android 动态 添加 View
- android 中动态添加view
- Android 动态添加View布局
- android 动态添加View 两种方法
- Android 动态添加View并设置padding
- 动态添加view
- scroolview 动态添加view
- 动态添加view
- 动态添加View
- LinearLayout动态添加View
- java动态添加view
- 动态添加 view
- Android中动态添加view,删除view,获取view的内容
- week10---11月13日 JS基础(五)
- DIY 二叉树的先序非递归遍历
- maven+springMVC+mybatis+junit详细搭建过程
- ——黑马程序员——OC中简单单列模式的实现
- 用SQL语句写某一月份的日历
- Android 动态添加view
- java.lang.NoSuchFieldError: INSTANCE
- 开始的源头
- 第122讲:实战WordCount测试Hadoop集群环境学习笔记
- [kuangbin带你飞]专题一 简单搜索 H - Pots poj 3414
- 2015.11.12_正则表达式笔记
- Swift 函数嵌套
- nyoj--891--找点(贪心)
- Mybatis传入多参数查询ParameterType=Map问题