由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>
效果如下
版权声明:本文为qq_43702629原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。