绑定标签的事件处理模型本质跟基于监听的事件处理其实是相通的,可以认为它就是一种基于监听的事件处理方式。同时它实现起来更简单,因为它是直接在界面布局文件中为指定标签绑定事件处理方法。不废话了,看实例。
实例
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: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="com.uudou.study.bindapplication.MainActivity">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试"
android:id="@+id/textView"
android:textSize="32dp" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击我"
android:id="@+id/button"
android:onClick="clickButton"/><!--Button绑定一个事件处理方法clickButton-->
</LinearLayout>
</RelativeLayout>
activity源码:
public class MainActivity extends AppCompatActivity {
TextView tView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/*实现clickButton方法*/
public void clickButton(View view) {
tView = (TextView) findViewById(R.id.textView);
tView.setText("按钮被点击了");
}
}
效果图: