You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:开发个人用应用,需含9个文本输入框与保存按钮,数据存入第二个Activity

搞定你的安卓个人应用需求!

嘿,这需求其实挺清晰的,就是个典型的「输入页面→数据传递→展示页面」的流程,我给你把代码和步骤都捋明白,直接抄就能用~

第一步:实现输入页面(第一个Activity)

首先咱们先做输入页面的布局,在activity_main.xml里放9个文本输入框和一个保存按钮:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    android:gap="8dp">

    <!-- 9个输入框,给每个设置唯一ID -->
    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容1"/>

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容2"/>

    <EditText
        android:id="@+id/editText3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容3"/>

    <EditText
        android:id="@+id/editText4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容4"/>

    <EditText
        android:id="@+id/editText5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容5"/>

    <EditText
        android:id="@+id/editText6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容6"/>

    <EditText
        android:id="@+id/editText7"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容7"/>

    <EditText
        android:id="@+id/editText8"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容8"/>

    <EditText
        android:id="@+id/editText9"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入内容9"/>

    <!-- 保存按钮 -->
    <Button
        android:id="@+id/btnSave"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="保存并查看"/>

</LinearLayout>

接下来写输入页面的逻辑代码,分Java和Kotlin两种版本:

Java版本(MainActivity.java)

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private EditText editText1, editText2, editText3, editText4, editText5,
                     editText6, editText7, editText8, editText9;
    private Button btnSave;

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

        // 绑定所有输入框和按钮
        editText1 = findViewById(R.id.editText1);
        editText2 = findViewById(R.id.editText2);
        editText3 = findViewById(R.id.editText3);
        editText4 = findViewById(R.id.editText4);
        editText5 = findViewById(R.id.editText5);
        editText6 = findViewById(R.id.editText6);
        editText7 = findViewById(R.id.editText7);
        editText8 = findViewById(R.id.editText8);
        editText9 = findViewById(R.id.editText9);
        btnSave = findViewById(R.id.btnSave);

        // 按钮点击事件:获取输入内容,跳转到第二个Activity
        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 获取每个输入框的文本
                String input1 = editText1.getText().toString().trim();
                String input2 = editText2.getText().toString().trim();
                String input3 = editText3.getText().toString().trim();
                String input4 = editText4.getText().toString().trim();
                String input5 = editText5.getText().toString().trim();
                String input6 = editText6.getText().toString().trim();
                String input7 = editText7.getText().toString().trim();
                String input8 = editText8.getText().toString().trim();
                String input9 = editText9.getText().toString().trim();

                // 创建Intent,跳转到第二个Activity(DisplayActivity)
                Intent intent = new Intent(MainActivity.this, DisplayActivity.class);
                // 把每个输入内容存入Intent,用唯一的key标识
                intent.putExtra("INPUT_1", input1);
                intent.putExtra("INPUT_2", input2);
                intent.putExtra("INPUT_3", input3);
                intent.putExtra("INPUT_4", input4);
                intent.putExtra("INPUT_5", input5);
                intent.putExtra("INPUT_6", input6);
                intent.putExtra("INPUT_7", input7);
                intent.putExtra("INPUT_8", input8);
                intent.putExtra("INPUT_9", input9);

                // 启动第二个Activity
                startActivity(intent);
            }
        });
    }
}

Kotlin版本(MainActivity.kt)

import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // 绑定视图
        val editText1 = findViewById<EditText>(R.id.editText1)
        val editText2 = findViewById<EditText>(R.id.editText2)
        val editText3 = findViewById<EditText>(R.id.editText3)
        val editText4 = findViewById<EditText>(R.id.editText4)
        val editText5 = findViewById<EditText>(R.id.editText5)
        val editText6 = findViewById<EditText>(R.id.editText6)
        val editText7 = findViewById<EditText>(R.id.editText7)
        val editText8 = findViewById<EditText>(R.id.editText8)
        val editText9 = findViewById<EditText>(R.id.editText9)
        val btnSave = findViewById<Button>(R.id.btnSave)

        // 按钮点击逻辑
        btnSave.setOnClickListener {
            // 获取输入内容
            val input1 = editText1.text.toString().trim()
            val input2 = editText2.text.toString().trim()
            val input3 = editText3.text.toString().trim()
            val input4 = editText4.text.toString().trim()
            val input5 = editText5.text.toString().trim()
            val input6 = editText6.text.toString().trim()
            val input7 = editText7.text.toString().trim()
            val input8 = editText8.text.toString().trim()
            val input9 = editText9.text.toString().trim()

            // 跳转并传递数据
            val intent = Intent(this, DisplayActivity::class.java).apply {
                putExtra("INPUT_1", input1)
                putExtra("INPUT_2", input2)
                putExtra("INPUT_3", input3)
                putExtra("INPUT_4", input4)
                putExtra("INPUT_5", input5)
                putExtra("INPUT_6", input6)
                putExtra("INPUT_7", input7)
                putExtra("INPUT_8", input8)
                putExtra("INPUT_9", input9)
            }
            startActivity(intent)
        }
    }
}

第二步:实现展示页面(第二个Activity)

接下来做展示页面的布局,activity_display.xml里放9个TextView,对应9行内容:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp"
    android:gap="8dp">

    <!-- 9个文本显示框,对应每个输入内容 -->
    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/textView3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/textView4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/textView5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/textView6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/textView7"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/textView8"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/textView9"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"/>

</LinearLayout>

然后写展示页面的逻辑代码,同样分Java和Kotlin:

Java版本(DisplayActivity.java)

import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class DisplayActivity extends AppCompatActivity {

    private TextView textView1, textView2, textView3, textView4, textView5,
                     textView6, textView7, textView8, textView9;

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

        // 绑定所有TextView
        textView1 = findViewById(R.id.textView1);
        textView2 = findViewById(R.id.textView2);
        textView3 = findViewById(R.id.textView3);
        textView4 = findViewById(R.id.textView4);
        textView5 = findViewById(R.id.textView5);
        textView6 = findViewById(R.id.textView6);
        textView7 = findViewById(R.id.textView7);
        textView8 = findViewById(R.id.textView8);
        textView9 = findViewById(R.id.textView9);

        // 获取Intent传递过来的数据,注意key要和输入页面的对应
        String input1 = getIntent().getStringExtra("INPUT_1");
        String input2 = getIntent().getStringExtra("INPUT_2");
        String input3 = getIntent().getStringExtra("INPUT_3");
        String input4 = getIntent().getStringExtra("INPUT_4");
        String input5 = getIntent().getStringExtra("INPUT_5");
        String input6 = getIntent().getStringExtra("INPUT_6");
        String input7 = getIntent().getStringExtra("INPUT_7");
        String input8 = getIntent().getStringExtra("INPUT_8");
        String input9 = getIntent().getStringExtra("INPUT_9");

        // 把内容设置到对应的TextView上,空内容可以显示提示
        textView1.setText(input1.isEmpty() ? "未输入内容1" : input1);
        textView2.setText(input2.isEmpty() ? "未输入内容2" : input2);
        textView3.setText(input3.isEmpty() ? "未输入内容3" : input3);
        textView4.setText(input4.isEmpty() ? "未输入内容4" : input4);
        textView5.setText(input5.isEmpty() ? "未输入内容5" : input5);
        textView6.setText(input6.isEmpty() ? "未输入内容6" : input6);
        textView7.setText(input7.isEmpty() ? "未输入内容7" : input7);
        textView8.setText(input8.isEmpty() ? "未输入内容8" : input8);
        textView9.setText(input9.isEmpty() ? "未输入内容9" : input9);
    }
}

Kotlin版本(DisplayActivity.kt)

import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class DisplayActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_display)

        // 绑定视图
        val textView1 = findViewById<TextView>(R.id.textView1)
        val textView2 = findViewById<TextView>(R.id.textView2)
        val textView3 = findViewById<TextView>(R.id.textView3)
        val textView4 = findViewById<TextView>(R.id.textView4)
        val textView5 = findViewById<TextView>(R.id.textView5)
        val textView6 = findViewById<TextView>(R.id.textView6)
        val textView7 = findViewById<TextView>(R.id.textView7)
        val textView8 = findViewById<TextView>(R.id.textView8)
        val textView9 = findViewById<TextView>(R.id.textView9)

        // 获取传递的数据
        val input1 = intent.getStringExtra("INPUT_1").orEmpty()
        val input2 = intent.getStringExtra("INPUT_2").orEmpty()
        val input3 = intent.getStringExtra("INPUT_3").orEmpty()
        val input4 = intent.getStringExtra("INPUT_4").orEmpty()
        val input5 = intent.getStringExtra("INPUT_5").orEmpty()
        val input6 = intent.getStringExtra("INPUT_6").orEmpty()
        val input7 = intent.getStringExtra("INPUT_7").orEmpty()
        val input8 = intent.getStringExtra("INPUT_8").orEmpty()
        val input9 = intent.getStringExtra("INPUT_9").orEmpty()

        // 设置文本,空内容显示提示
        textView1.text = if (input1.isEmpty()) "未输入内容1" else input1
        textView2.text = if (input2.isEmpty()) "未输入内容2" else input2
        textView3.text = if (input3.isEmpty()) "未输入内容3" else input3
        textView4.text = if (input4.isEmpty()) "未输入内容4" else input4
        textView5.text = if (input5.isEmpty()) "未输入内容5" else input5
        textView6.text = if (input6.isEmpty()) "未输入内容6" else input6
        textView7.text = if (input7.isEmpty()) "未输入内容7" else input7
        textView8.text = if (input8.isEmpty()) "未输入内容8" else input8
        textView9.text = if (input9.isEmpty()) "未输入内容9" else input9
    }
}

最后一步:注册第二个Activity

别忘啦!要在AndroidManifest.xml里把第二个Activity注册进去,不然会崩溃:

<application ...>
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <!-- 注册DisplayActivity -->
    <activity android:name=".DisplayActivity"/>
</application>

这样一套下来,你的应用就能完美实现需求啦!输入内容点击保存,就能跳转到第二个页面看到每行对应输入的内容~

内容的提问来源于stack exchange,提问作者coetzesh03

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:20:53