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

Android入门问题:如何将Activity One输入的通知消息显示到Activity Two

嘿,作为Android新手,你这个需求其实很基础也很常见,我来一步步帮你搞定~

实现步骤详解

第一步:完善Activity One的代码(发送数据到Activity Two)

你的代码片段里用了getIntent(),这其实是用来接收其他页面传过来的数据的,但你现在需要的是从Activity One把输入的消息传给Activity Two,所以得改成发送数据的逻辑。假设你在Activity One里有输入框用来输入通知标题和消息,先从布局和代码两部分调整:

1.1 Activity One的布局(activity_one.xml)

先加输入框和跳转按钮:

<EditText
    android:id="@+id/et_title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="输入通知标题"/>

<EditText
    android:id="@+id/et_message"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="输入通知消息"/>

<Button
    android:id="@+id/btn_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="跳转到Activity Two"/>

1.2 Activity One的Java代码

处理按钮点击事件,把输入的内容传到Activity Two:

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

    // 获取输入框和按钮实例
    EditText etTitle = findViewById(R.id.et_title);
    EditText etMessage = findViewById(R.id.et_message);
    Button btnSend = findViewById(R.id.btn_send);

    btnSend.setOnClickListener(v -> {
        // 获取用户输入的内容,trim()去掉首尾空格
        String title = etTitle.getText().toString().trim();
        String message = etMessage.getText().toString().trim();

        // 创建跳转Intent,指定目标页面是ActivityTwo
        Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
        // 把数据存入Intent,key要记好,后面接收时要用相同的key
        intent.putExtra("EXTRA_TITLE", title);
        intent.putExtra("EXTRA_MESSAGE", message);
        // 启动ActivityTwo
        startActivity(intent);
    });
}

第二步:编写Activity Two的代码(接收并显示数据)

接下来在Activity Two里接收数据,然后显示到TextView上:

2.1 Activity Two的布局(activity_two.xml)

添加用来展示内容的TextView:

<TextView
    android:id="@+id/tv_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:textStyle="bold"/>

<TextView
    android:id="@+id/tv_message"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:layout_marginTop="16dp"/>

2.2 Activity Two的Java代码

接收Intent里的数据并显示:

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

    // 获取跳转过来的Intent
    Intent intent = getIntent();
    // 用和发送时一致的key取数据,加默认值避免空指针
    String title = intent.getStringExtra("EXTRA_TITLE") == null ? "无标题" : intent.getStringExtra("EXTRA_TITLE");
    String message = intent.getStringExtra("EXTRA_MESSAGE") == null ? "无消息" : intent.getStringExtra("EXTRA_MESSAGE");

    // 把数据显示到TextView上
    TextView tvTitle = findViewById(R.id.tv_title);
    TextView tvMessage = findViewById(R.id.tv_message);

    tvTitle.setText(title);
    tvMessage.setText(message);

    // 也可以把标题设置为页面标题
    setTitle(title);
}

几个关键注意事项

  • 一定要在AndroidManifest.xml里注册Activity Two,不然启动时会崩溃:
<activity android:name=".ActivityTwo"/>
  • 传数据的key(比如EXTRA_TITLE)建议用常量定义,避免拼写错误,比如在Activity One里加:public static final String EXTRA_TITLE = "extra_title";
  • 可以加个非空判断,如果用户没输入内容就点击按钮,弹出Toast提示用户输入。

这样就能实现你想要的功能啦,从Activity One输入内容,点击按钮跳转到Activity Two就能看到显示的消息了~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:37:38