Android动态添加和移除布局
2024-08-21 00:15:12
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);
}
}
最新文章
- Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
- HDFS的概念
- TypeScript:基本类型和接口
- AmazeUI常用组件
- BZOJ 3713: [PA2014]Iloczyn
- php随笔2-php+ajax 实现输入读取数据库显示匹配信息
- 在头文件声明全局变量和创建extern
- mybatis 的一点问题
- JavaScript 方法调用模式和函数调用模式
- python 类继承演示范例的代码
- CEF 支持的命令行参数
- HTML5在手机端实现视频全屏展示
- Flutter学习之路---------第一个Flutter项目
- 实验吧—Web——WP之 what a fuck!这是什么鬼东西?
- 反转链表(python)
- android 本地字符串存取
- 作业:WordCount--实现字符数,单词数,行数的统计
- IT农民的开发人员工具清单(2013年)
- js静态数据分页展示
- Genymotion上不能安装APK软件的问题
热门文章
- 一句话说明==和equals的区别
- Pop–实现任意iOS对象的任意属性的动态变化
- 触发ionic弹窗区域外的方法
- Maven - pom.xml常用元素
- PXE+DHCP+TFTP+Cobbler 无人值守安装centos 7
- 搭建一个简单的dns缓存服务器
- 1016-06-首页20-封装工具条-有控件在viewDidLoad的时候距离顶部是0--到了viewWillAppear或viewDidAppear系统就加了64
- C++基础 inline 默认参数 函数占位参数 函数重载
- 使用Yeoman自动构建Ember项目
- 关于RTKLIB资料整理和学习