上一篇文章我们学习了android通过findViewById的方式查找控件,本章将了解button控件,及btton如何绑定控件。

通过android的ui设计工具设计一个登录页面:

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <TextView
android:id="@+id/tvUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/etPassword"
android:layout_alignParentLeft="true"
android:text="@string/main_activity_username" /> <TextView
android:id="@+id/tvPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/etPassword"
android:layout_alignBottom="@+id/etPassword"
android:layout_alignLeft="@+id/tvUsername"
android:text="@string/main_activity_password" /> <EditText
android:id="@+id/etUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="15dp"
android:layout_marginTop="42dp"
android:layout_toRightOf="@+id/tvUsername"
android:hint="@string/main_activity_username_hint"
android:ems="10" /> <EditText
android:id="@+id/etPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/etUsername"
android:layout_below="@+id/etUsername"
android:layout_marginTop="41dp"
android:hint="@string/main_activity_password_hint"
android:ems="10"
android:inputType="textPassword" > <requestFocus />
</EditText> <Button
android:id="@+id/btnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btnOk"
android:layout_alignRight="@+id/etUsername"
android:layout_marginRight="57dp"
android:text="@string/main_activity_btnCancel" /> <Button
android:id="@+id/btnOk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/etPassword"
android:layout_marginRight="32dp"
android:layout_marginTop="59dp"
android:layout_toLeftOf="@+id/btnCancel"
android:text="@string/main_activity_btnOk" /> <TextView
android:id="@+id/tvShow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tvPassword"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/etUsername"
android:layout_marginBottom="74dp"
android:text="" /> </RelativeLayout>

1)文本框使用的EditText控件;

2)文本hint是输入提示;

3)inputType是文本内容的格式设定。

后台给button绑定onClick事件:

android后台绑定button的onClick的函数setOnClickListener函数:

package com.example.helloword;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extends Activity {
private EditText etUsername, etPassword;
private TextView tvUsername, tvPassword, tvShow;
private Button btnOk, btnCancel; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); etUsername = (EditText) this.findViewById(R.id.etUsername);
etPassword = (EditText) this.findViewById(R.id.etPassword);
tvUsername = (TextView) this.findViewById(R.id.tvUsername);
tvPassword = (TextView) this.findViewById(R.id.tvPassword);
tvShow = (TextView) this.findViewById(R.id.tvShow);
btnOk = (Button) this.findViewById(R.id.btnOk);
btnCancel = (Button) this.findViewById(R.id.btnCancel); btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
String username = etUsername.getText().toString();
String password = etPassword.getText().toString(); tvShow.setText(username + "," + password);
}
});
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
etUsername.setText("");
etPassword.setText("");
tvShow.setText("");
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

当返回项目到手机页面时提示是否退出APP

    @Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// 当点击回退时,弹出该窗口(也就相当于关闭操作)
if (keyCode == KeyEvent.KEYCODE_BACK) {
new AlertDialog.Builder(this).setTitle("是否退出?")
.setPositiveButton("确定", new OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
finish();
}
}).setNegativeButton("取消", null).show();
return true;
}
return super.onKeyUp(keyCode, event);
}

使用android仿真机测试效果:

当点击返回到手机时:

Android:后台给button绑定onClick事件、当返回项目到手机页面时提示是否退出APP的更多相关文章

  1. ListView中的组件Button的OnClick事件触发时机

    Android开发时,ListView中的组件Button的OnClick事件必须在ListView之外的组件事件触发后才能触发? 此处ListView无OnItemClick事件,而且ListVie ...

  2. input 的blur事件之后button的onclick事件不执行解决方案

    最近发现网页程序中有个BUG,就是在input标签输入框中输入完数据后,直接点击“取消” 按钮的时候.出现网页崩死的情况: 经过小主酸菜我,各种方法的尝试后,找到一个初步可以解决的方案,在这里分享给大 ...

  3. Android开发入门——Button绑定监听事件三种方式

    import android.app.Activity; import android.os.Bundle;import android.view.View;import android.widget ...

  4. Asp.Net回车键触发Button的OnClick事件解决方案

    在aspx页面有textbox文本框,还有三个button按钮.启用textbox的TextChanged事件和button的click事件. 问题: 现在在textbox文本框输入完数据按“回车”后 ...

  5. 在js中绑定onclick事件为什么不加括号,在html代码中必须要加?

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 问题解决:在js中绑定onclick事件为什么不加括号,在html代码中必须要加?(转载)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. android ListView中button点击事件盖掉onItemClick解决办法

    ListView 1.在android应用当中,很多时候都要用到listView,但如果ListView当中添加Button后,ListView 自己的 public void onItemClick ...

  8. button的onclick事件给函数传递参数

    ul+='<button onclick="pay(\''+regiId+'\')" >按钮</button>' //此为原生JS页面拼接//此方式的关键就 ...

  9. 页面所有的button绑定同一个事件,点击不同的button赋值不同

    <script type="text/javascript"> $(function(){ $("input[type='button']").cl ...

随机推荐

  1. ClickOnce清单签名取消后依然读取证书的问题

    在 http://www.cnblogs.com/heroius/p/8270004.html 和 http://www.cnblogs.com/heroius/p/8278796.html中,通过编 ...

  2. linux-2.6.18源码分析笔记---信号

    一.相关数据结构及其位置(大致浏览即可,介绍流程时再来仔细看) 1.1 进程描述符struct task_struct所在目录:include\linux\sched.h 关注task_struct中 ...

  3. Java实现单向链表反转

    public class LinkedListTest { public static void main(String[] args) { Node A = new Node("A&quo ...

  4. WEB端线上偶现问题如何复现?

    1.抓取出现问题的日志,还原操作过程,分析 每个过程中数据是否正常?是否有重复请求 2.询问当时操作员执行了哪些操作,尽可能多的了解事发经过 3.通过查看日志,数据库等信息,找到发生问题的节点, 比如 ...

  5. pl/sql进阶--例外处理

    在pl/sql的执行过程中发生异常时系统所作的处理称为一个例外情况(exception).通常例外情况的种类有三种: 1.预定义的oracle例外情况oracle预定义的例外情况大约有24个,对于这种 ...

  6. Struts2 之 Action 类访问 WEB 资源

    接着上次博客的内容我继续分享我所学到的知识,和自己在学习过程中所遇到问题以及解决方案.当然,如果读者发现任何问题均可以在下方评论告知我,先谢! 在 Action 中访问 WEB 资源 web 资源 所 ...

  7. 网络工具nslookup的使用

    根据域名查询ip 如下所示: bogon:~ hhh$ nslookup www.baidu.com. Server: 192.168.1.254. #默认的DNS服务器 Address: . #ip ...

  8. 第二次作业之微信小程序

    2.1 介绍产品相关信息 你选择的产品是? 微信小程序 为什么选择该产品作为分析? 在等待了1年多以后,小程序终于在今年初上线,即速应用在H5领域的累计,便承接在小程序上.8月7日,即速应用的用户微信 ...

  9. alpha-咸鱼冲刺day1-紫仪

    总汇链接 一,合照 emmmmm.自然是没有的. 二,项目燃尽图 三,项目进展   登陆界面随意写了一下.(明天用来做测试的) 把学姐给我的模板改成了自家的个人主页界面,侧边栏啥的都弄出来了(快撒花花 ...

  10. 201621123031 《Java程序设计》第3周学习总结

    Week03-面向对象入门 1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系 ...