zoukankan      html  css  js  c++  java
  • Android动态添加和移除布局

     1 package com.hyang.administrator.studentproject;
     2 
     3 import android.os.Bundle;
     4 import android.support.v7.app.AppCompatActivity;
     5 import android.view.LayoutInflater;
     6 import android.view.View;
     7 import android.widget.Button;
     8 import android.widget.LinearLayout;
     9 import android.widget.TextView;
    10 
    11 import org.xutils.view.annotation.ViewInject;
    12 import org.xutils.x;
    13 
    14 import java.util.Stack;
    15 
    16 /**
    17  * 动态添加布局
    18  */
    19 public class DynamicAddViewActivity extends AppCompatActivity {
    20 
    21     @ViewInject(R.id.parent_layout)
    22     private LinearLayout mParentlayout;
    23 
    24     @ViewInject(R.id.add_view_button)
    25     private Button addViewButton;
    26     @ViewInject(R.id.remove_view_button)
    27     private Button removeViewButton;
    28 
    29     private LayoutInflater mLayountInflater;
    30     private LinearLayout linearlayout;
    31 
    32     private static int i=0;
    33     private Stack<View> mStack;
    34 
    35     @Override
    36     protected void onCreate(Bundle savedInstanceState) {
    37         super.onCreate(savedInstanceState);
    38         setContentView(R.layout.activity_dynamic_add_view);
    39         x.view().inject(this);
    40 
    41         mStack=new Stack<>();
    42         initView();
    43     }
    44 
    45     private void initView() {
    46         mLayountInflater=LayoutInflater.from(this);
    47         //mLayountInflater=getLayoutInflater();
    48         //mLayountInflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    49 
    50         addViewButton.setOnClickListener(new InnerOnClickListener());
    51         removeViewButton.setOnClickListener(new InnerOnClickListener());
    52     }
    53 
    54     class InnerOnClickListener implements View.OnClickListener{
    55 
    56         @Override
    57         public void onClick(View v) {
    58             switch (v.getId()){
    59                 case R.id.add_view_button:
    60                     addView();
    61                     break;
    62                 case R.id.remove_view_button:
    63                     removeView();
    64                     break;
    65                 default:
    66                     break;
    67             }
    68         }
    69     }
    70 
    71     private void removeView() {
    72         if(mStack.size()>0){
    73             mParentlayout.removeView(mStack.pop());
    74         }
    75 
    76 
    77     }
    78 
    79     private void addView() {
    80         linearlayout= (LinearLayout) mLayountInflater.inflate(R.layout.add_view,null);
    81         TextView textView= (TextView) linearlayout.findViewById(R.id.add_text);
    82         i++;
    83         textView.setText("你添加的view"+i);
    84         mParentlayout.addView(linearlayout);
    85         mStack.push(linearlayout);
    86     }
    87 }
  • 相关阅读:
    .NET应用架构设计—工作单位模式(摆脱程序代码的重要思想,反击DDD)
    ext Window点击右上角的关闭(Xbutton)加入监控事件
    HDU 2008 数字统计
    HTML5 CSS3 精美案例 : 达到VCD盒个性幻灯片
    Oracle表操作 (未完待续)
    oracle 统计语句 与常见函数的归纳(未完待续)
    Oracle 存储过程的创建,及触发器调用存储过程
    Oracle 数据乱码
    按列合并结果集
    Struts2 全局结果集-全局result节点设置,package设置abstract=true的实现
  • 原文地址:https://www.cnblogs.com/yoyohong/p/7044688.html
Copyright © 2011-2022 走看看