用户登录
用户注册

分享至

Android基础之界面跳转

  • 作者: 云飞散
  • 来源: 51数据库
  • 2021-07-30

文章目录

  • 布局
  • 响应onclick
  • 创建ReceiveActivity
  • 测试

布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
        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">

    <!--  线性布局 、垂直排列 -->
    <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <!--   编辑框   
			 @string/hint 表示 res/values/strings.xml下名为hint的标签
             strings.xml用于字符串资源及其格式化
      -->
        <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textPersonName"
                android:text="Name"
                android:ems="10"
                android:id="@+id/input" android:hint="@string/hint"/>
        <Button
                android:text="@string/send"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" android:id="@+id/button2" android:onClick="send"/>
    </LinearLayout>


</android.support.constraint.ConstraintLayout>

或者点击text左边的design进行布局

响应onclick

package com.android02;

import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    //定义常量,作为消息的key
    public final  static String MESSAGE_KEY="com.android2";

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        /**
         * 指定布局(res下的activity_main.xml编译成r.java)
         */
        setContentView(R.layout.activity_main);
    }

    /**
     *响应onclick事件
     */
    public void send(View button){

        //以id获取EditText
        EditText editText = findViewById(R.id.input);

        //获取编辑框文字
        String message = editText.getText().toString();

		//activity、service和broadcast receiver通过Intent进行交互
        Intent intent = new Intent(this,ReceiveActivity.class);

        //在intent中附加信息
        intent.putExtra(MESSAGE_KEY,message);
        startActivity(intent);
    }

}

创建ReceiveActivity

右击java>>new>>Activity>>Empty Activity
然后进入创建页面指定Activity的名字…
然后它在AndroidManifest.xml中自动注册

package com.android02;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class ReceiveActivity extends AppCompatActivity {

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

        //获取intent引用
        Intent intent = getIntent();

        //以MESSAGE_KEY获取获取编辑框文字
        String message = intent.getStringExtra(MainActivity.MESSAGE_KEY);

        //以id获取TextView
        TextView textView = findViewById(R.id.output);

        //显示message
        textView.setText(message);

    }
}

测试

通过AVD manager 创建虚拟手机或使用真机测试


完成~

软件
前端设计
程序设计
Java相关