Android开发学习笔记(十三)事件处理

事件处理(两种方式):
在这里插入图片描述
1、回调方式
例子:
在这里插入图片描述
源码:
EventActivity.java

public void changeText(View view)
    {
        TextView tv= findViewById(R.id.text_view);
        tv.setText(R.string.newStr);
        this.setTitle("这是一个新的标题");
    }

EventActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
>
    <TextView
        android:id="@+id/text_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:text="这是一段文字"
        android:gravity="center"
        android:layout_marginTop="50dp"
        ></TextView>

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="点击我"
        android:layout_gravity="center"
        android:layout_marginTop="100dp"
        android:onClick="changeText"
        >
    </Button>
</LinearLayout>

主要通过onClick这个事件实现交互

2、基于监听接口
EventActivity.java

public class EventActivity extends AppCompatActivity {

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

        Button btn = findViewById(R.id.btn);
        btn.setOnClickListener(new myOnclickListener());
    }

public class myOnclickListener implements View.OnClickListener
    {

        @Override
        public void onClick(View v) {
            TextView tv= findViewById(R.id.text_view);
            tv.setText(R.string.newStr);
            EventActivity.this.setTitle("这是一个新的标题");
        }
    }
}

另一种浓缩型的写法:

public class EventActivity extends AppCompatActivity {

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

        Button btn = findViewById(R.id.btn);
        //btn.setOnClickListener(new myOnclickListener());

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                TextView tv= findViewById(R.id.text_view);
                tv.setText(R.string.newStr);
                EventActivity.this.setTitle("这是一个新的标题");
            }
        });
    }

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq1198768105/article/details/113832663
今日推荐