Button btNext=(Button)findViewById(R.id.next);
btNext.setOnClickListener(new Button.OnClickListener(){
public void onClick(View view){
//创建一个布局管理器控件
LinearLayout linearLayout=new LinearLayout(MainActivity.this);
setContentView(linearLayout);
//设置orientation为horizontal,1表示为vertical
linearLayout.setOrientation(0);
TextView tvSecond=new TextView(MainActivity.this);
tvSecond.setText("这是Android奉献给你的第二个页面");
Button btNext2=new Button(MainActivity.this);
btNext2.setText("下一步");
btNext2.setId(2);
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
linearLayout.addView(tvSecond,lp1);
linearLayout.addView(btNext2,lp1);
btNext2.setOnClickListener(new View.OnClickListener(){
public void onClick(View view){
//这次只放置一个TextView不需要布局管理器
TextView tv3=new TextView(MainActivity.this);
tv3.setText("恭喜你已来到最后一个页面!");
//直接让页面显示一个TextView
setContentView(tv3);
}
});
}
});
类似
Button btNext=(Button)findViewById(R.id.next);
btNext.setOnClickListener(new ButtonCreateClickListener()); }
private class ButtonCreateClickListener implements View.OnClickListener {
public void onClick(View view) {
//创建一个布局管理器控件
LinearLayout linearLayout = new LinearLayout(MainActivity.this);
setContentView(linearLayout);
//设置orientation为horizontal,1表示为vertical
linearLayout.setOrientation(0);
TextView tvSecond = new TextView(MainActivity.this);
tvSecond.setText("这是Android奉献给你的第二个页面");
Button btNext2 = new Button(MainActivity.this);
btNext2.setText("下一步");
btNext2.setId(2);
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
linearLayout.addView(tvSecond, lp1);
linearLayout.addView(btNext2, lp1);
btNext2.setOnClickListener(new btNext2ClickListener());
}
} private class btNext2ClickListener implements View.OnClickListener { public void onClick(View v) {
//这次只放置一个TextView不需要布局管理器
TextView tv3 = new TextView(MainActivity.this);
tv3.setText("恭喜你已来到最后一个页面!");
//直接让页面显示一个TextView
setContentView(tv3); }
}

创建按钮

  Button btNext=(Button)findViewById(R.id.next);
btNext.setOnClickListener(new ButtonCreateClickListener()); }
private class ButtonCreateClickListener implements View.OnClickListener {
public void onClick(View view) { //创建一个button按钮
Button btn1 = new Button( MainActivity.this);
btn1.setText("this is a button");
btn1.setId(1);
TableLayout pTableLayout=(TableLayout)findViewById(R.id.table2);
pTableLayout.addView(btn1); }
}

可以是

private class  ButtonCreateClickListener implements View.OnClickListener {
public void onClick(View view) { //创建一个button按钮
Button btn1 = new Button( MainActivity.this);
btn1.setText("this is a button");
btn1.setId(1);
TableRow pTableRow=(TableRow)findViewById(R.id.TableRow2);
pTableRow.addView(btn1); }
}

andriod 动态创建控件的更多相关文章

  1. 小子给大家分享一个或者多个新手创建tableview经常会遇到的坑(动态创建控件,xib的重用)

    小子最近做了一个根据接口返回的数据在Cell中动态创建控件,感觉应该会一部分人卡在这里,小子就跟大家分享一下: 1.控件重复创建:这个问题出现的原因是动态创建的cell内容的时候,无法进行重用设置,所 ...

  2. VisionPro笔记(1):动态创建控件

     VisionPro学习笔记(1):动态创建控件 有的时候可能需要在程序中动态创建控件,VisionPro实例中提供了一例动态创建Blob控件的方法.当然,动态创建过多的控件会极大的消耗系统的资源,建 ...

  3. 【转载】MFC动态创建控件及其消息响应函数

    原文:http://blog.sina.com.cn/s/blog_4a08244901014ok1.html 这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)h ...

  4. MFC动态创建控件及其消息响应函数

    这几天专门调研了一下MFC中如何动态创建控件及其消息响应函数. 参考帖子如下: (1)http://topic.csdn.net/u/20101204/13/5f1b1e70-2f1c-4205-ba ...

  5. delphi动态创建控件

    动态创建控件 其实动态创建控件很简单,相信看过本文后你会全明白的. 1 先在单元的initialization 部分注册它,(这样在单元使用时会自动注册的)如: RegisterClass( TBut ...

  6. MFC 动态创建控件

    动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的.   一.创建动态控件:   为了对照,我们先来看一下静态控件的创建.   放置静态控件时必须先建立一个容器,一 ...

  7. 在DELPHI中动态创建控件以及控件的事件

    在DELPHI中我们经常要动态的创建控件以及控件的事件.例如,我们可能想根据程序需要动态的创建一些Tshape组件来创建某个图形,并使得在鼠标移动上去之后可以完成某些操作.这一般需要需要三步: 生成一 ...

  8. Winfrom动态创建控件

    FlowLayoutPanel flowLayoutPanel1 = new FlowLayoutPanel();for (int i = 0; i < 9; i++){    Button b ...

  9. 动态创建控件 #Create(...)

    在类中创建一个控件对象;例:CButton m_btn; 用Create创建一个对象(#其实已经与其绑定)m_btn.Create(.....); #注意Create()函数的参数 问题一:点击一个b ...

随机推荐

  1. 对象与Byte数组相互转化工具方法

    /** * 对象转byte * @param obj * @return */ private byte[] ObjectToByte(Object obj) { byte[] bytes = nul ...

  2. android.support.v4包中的LruCache源码简读

    package android.util; import java.util.LinkedHashMap; import java.util.Map; /** * A cache that holds ...

  3. Unity 坐标系

    Unity 使用的是左手坐标系

  4. C#生成不重复的随机数(转)

    我们在做能自动生成试卷的考试系统时,常常需要随机生成一组不重复随机数的题目,在.net Framework中提供了一个专门用来产生随机数的类System.Random. 对于随机数,大家都知道,计算机 ...

  5. 解决debian中脚本无法使用source的问题

    #!/bin/sh source scripts/common.sh 现象: shell脚本中source aaa.sh时提示 source: not found 原因: ls -l `which s ...

  6. css优先级和层叠

    css优先级和层叠 1.优先级    计算方法:        a.行内样式        b.id选择器的数量        c.类,伪类和属性选择器的数量        d.标签选择器和伪元素选择 ...

  7. SQL中的循环

    DECLARE @SOInfoList TABLE ( SONumber INT, SODate datetime, Status char(1) ) INSERT INTO @SOInfoList ...

  8. [Tool] Visual Studio必备插件 + 技能

    总结自己常用的VS插件,其中部分需要注册. 在该链接http://www.cnblogs.com/neverc/p/4591501.html中提供 1.Web Essentials(测试支持2010, ...

  9. C#开源资源项目

    一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(as ...

  10. Identity标识列

    SQL Server中,经常会用到Identity标识列,这种自增长的字段操作起来的确是比较方便.但它有时还会带来一些麻烦. 示例一 :当表中被删除了某些数据的时候,自增长列的编号就不再是一个连线的数 ...