package com.hyang.administrator.studentproject;

 import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView; import org.xutils.view.annotation.ViewInject;
import org.xutils.x; import java.util.Stack; /**
* 动态添加布局
*/
public class DynamicAddViewActivity extends AppCompatActivity { @ViewInject(R.id.parent_layout)
private LinearLayout mParentlayout; @ViewInject(R.id.add_view_button)
private Button addViewButton;
@ViewInject(R.id.remove_view_button)
private Button removeViewButton; private LayoutInflater mLayountInflater;
private LinearLayout linearlayout; private static int i=0;
private Stack<View> mStack; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dynamic_add_view);
x.view().inject(this); mStack=new Stack<>();
initView();
} private void initView() {
mLayountInflater=LayoutInflater.from(this);
//mLayountInflater=getLayoutInflater();
//mLayountInflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); addViewButton.setOnClickListener(new InnerOnClickListener());
removeViewButton.setOnClickListener(new InnerOnClickListener());
} class InnerOnClickListener implements View.OnClickListener{ @Override
public void onClick(View v) {
switch (v.getId()){
case R.id.add_view_button:
addView();
break;
case R.id.remove_view_button:
removeView();
break;
default:
break;
}
}
} private void removeView() {
if(mStack.size()>0){
mParentlayout.removeView(mStack.pop());
} } private void addView() {
linearlayout= (LinearLayout) mLayountInflater.inflate(R.layout.add_view,null);
TextView textView= (TextView) linearlayout.findViewById(R.id.add_text);
i++;
textView.setText("你添加的view"+i);
mParentlayout.addView(linearlayout);
mStack.push(linearlayout);
}
}

最新文章

  1. Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
  2. HDFS的概念
  3. TypeScript:基本类型和接口
  4. AmazeUI常用组件
  5. BZOJ 3713: [PA2014]Iloczyn
  6. php随笔2-php+ajax 实现输入读取数据库显示匹配信息
  7. 在头文件声明全局变量和创建extern
  8. mybatis 的一点问题
  9. JavaScript 方法调用模式和函数调用模式
  10. python 类继承演示范例的代码
  11. CEF 支持的命令行参数
  12. HTML5在手机端实现视频全屏展示
  13. Flutter学习之路---------第一个Flutter项目
  14. 实验吧—Web——WP之 what a fuck!这是什么鬼东西?
  15. 反转链表(python)
  16. android 本地字符串存取
  17. 作业:WordCount--实现字符数,单词数,行数的统计
  18. IT农民的开发人员工具清单(2013年)
  19. js静态数据分页展示
  20. Genymotion上不能安装APK软件的问题

热门文章

  1. 一句话说明==和equals的区别
  2. Pop–实现任意iOS对象的任意属性的动态变化
  3. 触发ionic弹窗区域外的方法
  4. Maven - pom.xml常用元素
  5. PXE+DHCP+TFTP+Cobbler 无人值守安装centos 7
  6. 搭建一个简单的dns缓存服务器
  7. 1016-06-首页20-封装工具条-有控件在viewDidLoad的时候距离顶部是0--到了viewWillAppear或viewDidAppear系统就加了64
  8. C++基础 inline 默认参数 函数占位参数 函数重载
  9. 使用Yeoman自动构建Ember项目
  10. 关于RTKLIB资料整理和学习