安卓之點擊按鈕切換界面(Activity)

由A界面切換到B界面的代碼如下

  Intent intent=new Intent(this,DisplayMessageActivity.class);
  startActivity(intent);

B界面顯示的代碼

Intent intent=getIntent();

接下來介紹一個函數

intent.putExtra(EXTRA_MESSAGE,str);//第一個參數爲鍵名,第二個是對應的鍵值

這是用來進行信息交流的一種函數,我們可以在B界面中通過鍵名來獲得鍵值。

那麼我們就可以在B界面中獲取傳遞的信息

String str=intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

我們可以看下面的一個猜數字小程序。

MainActivity的代碼

package com.example.randomapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    public static final String KEY_WORD="com.example.random";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button)findViewById(R.id.user_button);
    }
     public void sendMessage(View v)//點擊事件,通過xml文件添加的點擊事件
     {
         Intent intent=new Intent(this,ResultActivity.class);//獲得子界面的信息
         assert (intent!=null);//斷言,可以不用寫
         EditText editText=(EditText)findViewById(R.id.user_input);
         String message=editText.getText().toString();
         int mes=Integer.valueOf(message);//轉換爲數字
         intent.putExtra(KEY_WORD,mes);//轉遞數據
         startActivity(intent);
     }

}

xml代碼

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:background="@color/colorBackground"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="你好啊!歡迎來到彩票環節"
        android:textColor="@color/colorText"
        android:textSize="30dp"></TextView>

    <Button
        android:id="@+id/user_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="150dp"
        android:background="@color/colorButton"
        android:onClick="sendMessage"
        android:text="點擊抽獎"
        android:textSize="40dp"></Button>

    <EditText
        android:id="@+id/user_input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="70dp"
        android:hint="請輸入你的猜獎數字0-10"
        android:textSize="25dp"></EditText>
</LinearLayout>

ResultActivity的代碼

package com.example.randomapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class ResultActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);
        Intent intent=getIntent();//鏈接主頁面
        int input_user=intent.getIntExtra(MainActivity.KEY_WORD,0);//第二個參數是
        //默認的數值
        int machine_val=(int)(10*Math.random());
        TextView textView=(TextView)findViewById(R.id.text_result);
        TextView textView2=(TextView)findViewById(R.id.show_user_is_win);
        textView.setText("正確的獎項是"+machine_val);
       if(input_user==machine_val)
        {
            textView2.setText("恭喜你中獎了,不過只有1元");
        }
        else
        {
            textView2.setText("很悲劇你沒有中獎,你需要充錢");
        }
    }
}

xml代碼

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:orientation="vertical"
    tools:context=".ResultActivity">

    <TextView
        android:id="@+id/text_result"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textSize="40dp"></TextView>

    <TextView
        android:id="@+id/show_user_is_win"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="250dp"
        android:gravity8="center"
        android:textSize="50dp"></TextView>


</LinearLayout>

效果如下

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章