以SayHello为例演示事件处理的三种方式
来源:互联网 发布:北京国税报税软件 编辑:程序博客网 时间:2024/06/04 19:56
页面效果图:
页面设计:
创建一个Activity,在Activity中添加控件并进行事件处理
activity_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" android:background="@drawable/bg" > <TextView android:id="@+id/nameinput" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_marginTop="90dp" android:padding="@dimen/padding_medium" android:text="@string/nameInput" /> <EditText android:id="@+id/name" android:layout_centerHorizontal="true" android:layout_width="200dip" android:layout_height="wrap_content" android:layout_below="@id/nameinput" android:inputType="text" /> <Button android:id="@+id/clickButton" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/name" android:text="@string/clickbutton" /></RelativeLayout>
string.xml:
<resources> <string name="app_name">打招呼</string> <string name="nameInput">请输入你的姓名</string> <string name="menu_settings">Settings</string> <string name="title_activity_main">打招呼</string> <string name="clickbutton">请点击我</string></resources>
方法1:
public class MainActivity extends Activity {private Button clickButton; private EditText nameText;
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initialComponents(); //绑定事件源和事件处理者 clickButton.setOnClickListener(new ClickHandler()); }
//编写有能力处理按钮点击事件类 private class ClickHandler implements OnClickListener{@Overridepublic void onClick(View v) {String name=nameText.getText().toString();Toast.makeText(MainActivity.this, "你好"+name, Toast.LENGTH_LONG).show();} }
private void initialComponents(){ clickButton=(Button) this.findViewById(R.id.clickButton); nameText=(EditText) findViewById(R.id.name); }
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
方法2:
主要代码:
initialComponents(); //绑定事件源和事件处理者 //clickButton.setOnClickListener(new ClickHandler());匿名对象 clickButton.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {String name=nameText.getText().toString();Toast.makeText(MainActivity.this, "你好"+name, Toast.LENGTH_LONG).show();} });
方法3:
主要代码:
public class MainActivity extends Activity { private EditText nameText; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initialComponents(); } public void clickHandler(View view){ String name=nameText.getText().toString();Toast.makeText(MainActivity.this, "你好"+name, Toast.LENGTH_LONG).show(); } private void initialComponents(){ nameText=(EditText) findViewById(R.id.name); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
- 以SayHello为例演示事件处理的三种方式
- 演示事件处理的三种方式(以SayHello为例)
- 以SayHello为例说明三种事件处理方式
- JAVA事件的三种处理方式
- android事件处理的三种方式
- button 事件的三种处理方式
- javascript事件处理的三种方式
- java事件处理的三种方式
- JavaScript事件处理的方式(三种)
- 安卓中关于事件处理方式以Button为例实现点击事件监听
- 以hive为例说明程序的三种使用方式
- 以Sequence方式处理上传的文件(此处文件以图片为例)
- 为按钮添加点击事件的三种方式
- 以WebBrowser.DocumentCompleted 事件为例,说明用C#如何完成事件的订阅处理。
- .Net 以WebBrowser.DocumentCompleted 事件为例,说明用C#如何完成事件的订阅处理
- 以WebBrowser.DocumentCompleted 事件为例,说明用C#如何完成事件的订阅处理。
- ios中对事件动作的三种处理方式
- Swing中添加事件响应的三种处理方式
- 栈增长方向与大端/小端问题
- POJ 3295 构造栈计算表达式的值
- Python:Dom解析XML文件(读XML)
- 设计模式学习系列十六:命令模式(Command)
- C305例会纪实
- 以SayHello为例演示事件处理的三种方式
- MySQL存储过程实现批量插入数据
- Mongo数据库 安装
- 项目的关键在开始
- 北大ACM题目分类一,适合初学者慢慢发展(转)
- Sql Distinct 知多少
- intent 图片处理
- C++数据库接口 集合
- esql和informix数据库