Android动态添加和移除布局
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);
}
}
Android动态添加和移除布局的更多相关文章
- Android动态添加Device Admin权限
/********************************************************************** * Android动态添加Device Admin权限 ...
- Android -- 动态添加布局
在做项目的时候,遇到了scrollView与listView结合的使用,导致了滑动的混乱,但是有一个办法可以解决掉这个问题,就是手写listView的高度,还有另外一种方法,传送门:<Andro ...
- Android 动态添加删除ExpandableListView的item的例子
这个例子可以学习到如下几点: 1.通过自定义Dialog(单独布局的xml文件进行弹出显示) 2.通过menu点击监听添加,删除view中的items 3.点击ExpandableListView中g ...
- 如何使用validate.js进行动态添加和移除表单验证信息
表单是我们在开当中的常客,那么对表单的验证也是必须的,那么如何实现动态给表单添加验证规则呢? 方法: 1,动态添加验证规则 // 添加$("#addConnectUser").ru ...
- js活jQuery实现动态添加、移除css/js文件
下面是在项目中用到的,直接封装好的函数,拿去在js中直接调用就可以实现css.js文件的动态引入与删除.代码如下 动态加载,移除,替换css/js文件 // 动态添加css文件 function ad ...
- Android 动态添加Spinner(.java文件内实现) 实现 改变spinner 内文字属性
动态添加spinner 控件 Spinner s = new Spinner(this); String []items={"自己定义的要显示的数组"}; my_SpinnerAd ...
- android动态添加TextView或者ImageView
动态添加 text1=new TextView(this); text1.setText("动态添加"); ((LinearLayout) this.findViewById(R. ...
- Android动态添加布局
//1.利用LayoutInflater的inflate动态加载XML mLinearLayout = (LinearLayout)findViewById(R.id.LinearLayout_ID) ...
- Android 动态添加线性布局(.java文件内) 实现控件按比例分割空间
这里实现 两个 编辑框同一水平上 按1:1分割空间 这里的1:1 比例可以通过 lp1.weight : 1p2.weight =m:n 实现 { LinearLayout l=new Linea ...
随机推荐
- svn: 处于冲突状态
svn: 提交失败(细节如下):svn: 提交终止: “/home/usa/svn/aispeech/air201102/branches/opt-vite/wvite” 处于冲突状态 删除文件夹wv ...
- AI-Info-Micron-Insight:5G、人工智能和即将到来的移动革命
ylbtech-AI-Info-Micron-Insight:5G.人工智能和即将到来的移动革命 1.返回顶部 1. 5G.人工智能和即将到来的移动革命 人们都说自己的手机“智能”,但究竟有多智能?凡 ...
- 第5章 什么是寄存器—零死角玩转STM32-F429系列
第5章 什么是寄存器 集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料 ...
- 【Java】常用数据类型转换(BigDecimal、包装类、日期等)
新工作转到大数据方向,每天都要面对数据类型互相转换的工作,再加上先前面试发现这部分的知识盲点, 决定复习之余自己再写一套便捷的方法,以后会比较方便.(虽然公司有现成封装的类,里头还有些遗漏的地方,暂时 ...
- springboot整合mybatis笔记
1首先创建一个springboot项目 创建项目的文件结构以及jdk的版本 选择项目所需要的依赖 之后点击finish,完成创建 2以下是文件结构 看一下啊pom.xml; <?xml vers ...
- dom技术解析xml下jaxp解析器详细代码
1.使用jaxp实现查询操作 person.xml <?xml version="1.0" encoding="UTF-8" standalone=&qu ...
- Lucene实战
导包
- Python函数及参数
## 函数 - 函数是代码的一种组织形式,一般一个函数完成一个特定功能 - 函数需要先定义后使用 - 函数的定义 def func_name(参数): func_body ... return fun ...
- 第五章 标准I/O
5.1 引言 本章说明标准 I/O 库.因为不仅在 UNIX 上,而且在很多操作系统上都实现了此库,所以它由 ISO C 标准说明. 标准 I/O 库处理很多细节,例如缓冲区分配,以优化长度执行 I/ ...
- ZOJ3640 概率DP
Background If thou doest well, shalt thou not be accepted? and if thou doest not well, sin lieth at ...