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. char str[]和char *str的区别

    1.http://blog.csdn.net/szchtx/article/details/10396149 char ss[]="C++";  ss[0]='c';        ...

  2. [转]OOPC:Object-Oriented Programming in C

    转载自:http://www.cnblogs.com/stli/archive/2010/10/16/1853190.html OOPC是指OOP(Object-Oriented Programmin ...

  3. 实战android菜单项之XML加载菜单与动态菜单项[转]

    原文地址:http://blog.csdn.net/kaiwii/article/details/7767225 自定义android应用程序的菜单项首先要知道切入点.经过学习,知道主要是两个Acti ...

  4. HTML5[7]: 实现网页版的加载更多

    理所当然,jQuery出场: $(function() { $(window).scroll(function() { if($(this).scrollTop() + $(this).innerHe ...

  5. 字符集与Mysql字符集处理(一)

      一.字符集总结 其实大多数的知识在这篇文章里已经讲得非常清楚了.这里只是讲一下自己的感悟. 1. UTF-8虽然是以UTF(unicode transfermation format)开头的,但是 ...

  6. 微信公众号开发第六课 BAE结合实现迅雷账号随机分享

    迅雷离线是个好东西,那么我们能不能实现这样一个功能,回复迅雷,随机返回一个迅雷账户和密码. 首先在t_type类型表中添加 迅雷以及对应用值xunlei,这样返回的case值中对应值xunlei. 建 ...

  7. 设置函数环境——setfenv

    当我们在全局环境中定义变量时经常会有命名冲突,尤其是在使用一些库的时候,变量声明可能会发生覆盖,这时候就需要一个非全局的环境来解决这问题.setfenv函数可以满足我们的需求. setfenv(f, ...

  8. Hekaton的神话与误解

    最近这段时间,我花了很多时间来更好的理解Hekaton——SQL Sever 2014里的全新内存表技术.我看了很多文章,了解了Haktaon的各种内部数据存储结构(主要是哈希索引和Bw-tree). ...

  9. UWP开发入门(十二)——神器Live Visual Tree

    很久以前,我们就有Snoop这样的工具实时修改.查看正在运行的WPF程序,那时候调个样式,修改个模板,相当滋润.随着历史的车轮陷进WP的泥潭中,无论WP7的Silverlight还是WP8.1的run ...

  10. 浏览器对象模型(BOM,Browser Object Model)

    本文内容     1.概述     2.windows与document     3.对话框     4.定时调用     5.URL解析与访问历史     6.浏览器和屏幕信息 ★概述     &q ...