アクティビティに関するページジャンプとデータリターンのケース

アクティビティページのジャンプとデータの返却について

1つは、アクティビティを作成する

最初に、次
の図に示すように2つの空白のアクティビティを作成します。これにより、対応するxmlファイルが自動的に生成
されます。OneActivityとTwoActivityを作成しました
ここに写真の説明を挿入

次に、xmlファイルを書き込みます

1.activity_one.xmlを記述します

メインコントロールインターフェイスでは、書き込みボタンを使用してインターフェイスにジャンプします2渡されるデータを入力するためのEditTextアセンブリを
書き込み、データ転送ボタン使用してバックホールデータを受信するためのTextViewコンポーネントを書き込みます

コード表示

<?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=".Activity.OneActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="界面1" />

    <Button
        android:id="@+id/one_b"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="oneToTwo"
        android:text="打开界面2" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="传递数据给Two" />

    <EditText
        android:id="@+id/et_input"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入数据" />

    <Button
        android:id="@+id/btn_one_send"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="传输数据到Two界面" />

    <TextView
        android:id="@+id/tv_one_show_Tow_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="回传的数据" />
</LinearLayout>

インターフェース表示
ここに写真の説明を挿入

2.activity_two.xmlを記述します

メインコントロールインターフェイスから渡されたデータを表示するTextViewコンポーネントを記述します1返される必要のあるデータを入力
するEditTextコンポーネントと戻るボタンを記述します

コード表示

<?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=".Activity.TwoActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="界面2" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显示one界面传递的数据" />

    <TextView
        android:id="@+id/tv_intent_show"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn_Tow_to_one"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="回传数据给one界面" />

    <EditText
        android:id="@+id/et_Tow_back_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入回传数据" />

</LinearLayout>

インターフェース表示
ここに写真の説明を挿入

3、アクティビティを書く

1.OneActivityを作成します

コード表示

package com.example.myapplication.Activity;
import androidx.annotation.Nullable;
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;
import android.widget.TextView;
import com.example.myapplication.R;

public class OneActivity extends AppCompatActivity {
    
    
    private EditText input;
    private Button send;
    private TextView show;

    //xml中记得onClick
    public void oneToTwo(View View) {
    
    
        //创建一个Intent意图对象
        Intent intent = new Intent(this, TwoActivity.class);
        //跳转
        startActivity(intent);
    }

    /**
     * public void oneDateTOTwoActivity(View View){
     * //获取输入数据
     * EditText input=findViewById(R.id.et_input);
     * String text=input.getText().toString();
     * //创建意图对象
     * Intent intent=new Intent(this,TwoActivity.class);
     * //保存数据
     * intent.putExtra("msg",text);
     * //跳转
     * //startActivity(intent);
     */
    private void init() {
    
    
        input = findViewById(R.id.et_input);
        send = findViewById(R.id.btn_one_send);
        show = findViewById(R.id.tv_one_show_Tow_text);

        //给传输数据到Two界面的
        按钮绑定事件
        send.setOnClickListener(new View.OnClickListener() {
    
    
            @Override
            public void onClick(View v) {
    
    
                //获取输入数据
                String text = input.getText().toString();
                //创建意图对象
                Intent intent = new Intent(OneActivity.this, TwoActivity.class);
                //保存数据
                Bundle bundle = new Bundle();
                bundle.putString("text", text);
                intent.putExtras(bundle);
                //跳转
                startActivityForResult(intent, 1);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    
    
        super.onActivityResult(requestCode, resultCode, data);
        //处理回传数据
        if (requestCode == 1) {
    
    
            if (resultCode == 2) {
    
    
                //获取回传数据
                String msg = data.getStringExtra("msg");
                show.setText(msg);
            }
        }
    }

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

    }
}

2.TwoActivityを作成します

コード表示

package com.example.myapplication.Activity;

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;
import android.widget.TextView;

import com.example.myapplication.R;

public class TwoActivity extends AppCompatActivity {
    
    
    private TextView show;
    private Button TowtoOne;
    private EditText back;

    private void init() {
    
    
        show = findViewById(R.id.tv_intent_show);
        TowtoOne = findViewById(R.id.btn_Tow_to_one);
        back = findViewById(R.id.et_Tow_back_text);
        //获取意图对象
        Intent intent = getIntent();
        //获取数据显示
        String text = intent.getStringExtra("text");
        show.setText(text);

        //数据回传
        //绑定按钮事件
        TowtoOne.setOnClickListener(new View.OnClickListener() {
    
    
            @Override
            public void onClick(View v) {
    
    
                //设置要回传的数据
                String msg = back.getText().toString();
                Intent data = new Intent();
                data.putExtra("msg", msg);
                //设置到结果码
                setResult(2, data);
                TwoActivity.this.finish();
            }
        });

    }

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

おすすめ

転載: blog.csdn.net/m0_48804394/article/details/109315116
おすすめ