Android ch03 Activity_layout and Button 点击事件

Android 中的界面跳转,其实就是一个个的 Activity ,下面看下怎么创建新的 Activity 布局

在项目 res 里面的  layout文件夹上右键 new -> Other -> Android文件夹 下面的 -> Android XML Layout File

Next 之后 然后 在 File 那里写文件名称, Root Element:里选个布局 ,然后 Finish 就创建成功

  可以在 Form Widgets 中拖个 Button 按钮 过界面那里

  

  双击 Button 这个 按钮 会进入到 源码那里,会自动生成 有关 刚刚点击的 Button的界面布局代码

  

  然后就在 ManActivity 里加载这个资源布局 ,通过 setContentView 这个方法来加载 资源布局,传入 R.layout.test 这个布局

  R.layout.test 其实就在 之前创建在 layout 里的 xml 文件 ,这样就可以加载布局了

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
        setContentView(R.layout.test);

    }
}

  然后 运行,加载成功

  

  到这里,我想搞事情啦,点击 Button ,我发现什么效果都没,我想能和 JavaScript 一样弹出点信息出来一样,点了半天都没反应,JavaScript 有点击事件,

  这里也应该有吧,果然是有方法如下

方法一: 在 MainActivity 的方法 onCreate 里,通过 findViewById()方法找到布局里的控件,通过 Button 的 setOnClickListener() 方法传入个

  事件监听的接口 OnClickListener 接口,这里采用的是匿名内部类的方法,实现 onClick(View v) 这个方法就可以啦

 private Button btn1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
        setContentView(R.layout.test);
        btn1 = (Button) findViewById(R.id.testButton1);
        btn1.setText("点我");
        btn1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                /**
                 * Toast 类似与弹框一样的
                 * context : 上下文,指的是 Activity,所以写 MainActivity.this 就可以了
                 * text : 文本内容
                 * duration : 时间,int 类型数值
                 */
                Toast.makeText(MainActivity.this, "你好 Android ", 1).show();
            }
        });

    }

然后 看看效果:

  

方法二:

  之前的步骤一样,差别在于,在 Button 的 setOnClickListener() 方法里传入的是一个实现类,

  新建一个 类 去实现 OnClickListener 接口 

public class Btn1ClickListener implements OnClickListener {

    private Context context;

    public Btn1ClickListener(Context context) {
        this.context = context;
    }

    @Override
    public void onClick(View v) {
        Toast.makeText(context, "你好 Android 1班", 1).show();
    }

}

  就可以在 MainActivity 里直接用了 

  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
        setContentView(R.layout.test);
      /* *//**
        * 第二种方法
        */
        btn1 = (Button) findViewById(R.id.testButton1);
        btn1.setText("点我");
        // 直接 new 个实例出来 传入 content 就可以了
        btn1.setOnClickListener(new Btn1ClickListener(this));

    }

  效果如下:

  

  

时间: 2024-10-13 02:57:12

Android ch03 Activity_layout and Button 点击事件的相关文章

Android GridView中Button点击事件onItemClick不能响应

今天在捣鼓一个类似于百度贴吧的东西.布局:上面是个ActionBar标题栏,然后是一个GridView布局,在Java代码中动态加载关注的贴吧,一切就绪中,很愉快的弄好了! 现在需要点击选项进入某个贴吧,那么问题来了—— GridView中Button点击事件onItemClick不能响应. 所以,主要的猫腻还是在com.android.internal.R.attr.buttonStyle这个里面,查看这个xml文件,Button设置多了两个属性如下:<item name="androi

Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)

1.main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" androi

Android笔记——Button点击事件几种写法

Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button的onClick的属性 首先我们简单地定义一个带Button的xml布局文件 activity_main.xml: <Button android:id="@+id/bt1" android:layout_width="wrap_content" android:

从Listview与Button点击事件冲突看安卓点击事件分发机制

题目有点长.其实实现Listview的时候大家都可能会碰到这样的一个问题,那就是Listview的OnItemClickListener点击事件与Button(或者checkbox)的touch(或者click)事件冲突的问题. 声明一下,非常感谢郭大师的这篇blog: http://blog.csdn.net/guolin_blog/article/details/9097463 原理参考了这篇blog,事实上也是本人功力不够不能阅读源码的缺陷啊. 下面说下自己的解决步骤: 1)首先先set一

Android--Android studio --Button点击事件的写法

Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button的onClick的属性 首先定义一个带button的xml布局文件 activity_main.xml: <Button android:id="@+id/bt1" android:layout_width="wrap_content" android:layou

iOS 为自定义tableView添加button点击事件后获取其序号

在自定义tableView中,为cell添加button点击事件后,如何获取其对应的序号? 1.创建tableView: 先创建一个成员变量: @interface MyCameraViewController ()<UITableViewDelegate,UITableViewDataSource> { UITableView *_tableView; }@end 在viewDidLoad中初始化 _tableView = [[UITableView alloc] initWithFrame

两个堆叠fragment,上层fragment响应于降低fragment的button点击事件补救措施

加入onViewCreated的Touch事件监听, 以解决叠在一起的fragment上层响应下层的button点击事件解决方法 @Override public void onViewCreated(View view, Bundle savedInstanceState) { view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {

Android学习之解决ListView中item点击事件和item中Button点击事件冲突问题

在ListView中添加Button后,如果只是单纯的加入而不加限制的话,ListView的onClick点击事件没有响应,因为Button获取了item的焦点,想要两者都可点击,需要加上如下限制: 在ListView的适配器中的布局文件中添加: (1)在布局文件的根元素上中添加属性android:descendantFocusability="blocksDescendants" (2)在Button中添加属性android:focusable="false"和a

android Button点击事件总结

直接上代码: public class MainActivity extends AppCompatActivity implements View.OnClickListener{ Button button1,button2,button3,button4,button5,button6; TextView text1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns