android点击事件,跳转界面

Android 事件处理

1,采用在Activity中创建一个内部类定义点击事件

主要xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/bt1"
        android:text="按钮1"/>

LinearLayout>
主要java代码
package com.example.textapplication;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import androidx.annotation.Nullable;

public class MainActivity extends Activity {
//定义一个按钮
    private Button bt1;
    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate( Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //初始化控件
        bt1= (Button) findViewById(R.id.bt1);
        //给按钮设置点击事件
        bt1.setOnClickListener(new MyListener());
    }
    //创建一个内部类定义点击事件
    private class MyListener implements View.OnClickListener {

        @Override
        public void onClick(View v) {  //重写点击方法
            Toast.makeText(getApplicationContext(),"点击了按钮", Toast.LENGTH_SHORT).show();
        }
    }
}

采用匿名内部类定义点击事件

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity2_main);
        //初始化控件
        bt1 = (Button) findViewById(R.id.bt2);
      //给按钮设置点击事件,创建了一个匿名内部类
        bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getApplicationContext(),"点击了按钮2", Toast.LENGTH_SHORT).show();
            }
        });
    }

结果
android点击事件,跳转界面_第1张图片

Intent

1,Intent.putExtra(key,value)可以将要传递的数据添加到Intent中。如果想取出Intent对象中的这些值,需要在另一个Activity中调用get(类型例如String)Extra方法,注意需要使用对应类型的方法,参数为键名
2,使用Intent进行数据传递
//创建一个intent对象,从MainActivity跳转到TwoActivity界面
Intent intent= new Intent(MainActibity.thid,TwoActivity.class);
//在Intent中装载一个boolean类型的参数,键为ok,值为true
intent.putExtra(“ok”,true);
//在Intent中装载一个String类型的参数,键位name,值位userName
intent.putExtra(“naame”,username);
//启动这个意图将值传递到第二个界面
startActivity(intent);

第二个界面接受传递过来的数据的关键代码
//先获取所传递的Intent
Intent intent =getIntent();
//获取intent中键位name的String类型的值
String name = intent.getStringExtra(“name”);

你可能感兴趣的:(android,stdio,android,java,android,studio)