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

Android Studio新手求助:三Activity数据传递失效,第三页无内容

嘿,兄弟!作为刚上手Android Studio的新手,遇到这种Activity传值后没内容的问题太正常了,我帮你捋捋最可能出问题的几个地方,一步步来排查:

一、先检查Intent传值是否准确

这是新手最容易栽跟头的环节,核心就是传值的键名和取值的键名必须完全一致(大小写、拼写半毛钱都不能错):

  • 比如你在第二个Activity跳转时写的是intent.putExtra("EN_WORD", word),那第三个Activity取的时候就得严格用getStringExtra("EN_WORD"),少个下划线、大小写错了都拿不到值!
  • 给你贴个标准的传值示例(第二个Activity跳转部分):
// 假设你有存储单词的列表,比如List<Word> wordList,当前要展示的序号是currentPos
Intent toThirdIntent = new Intent(SecondActivity.this, ThirdActivity.class);
toThirdIntent.putExtra("WORD_CONTENT", wordList.get(currentPos).getWord());
toThirdIntent.putExtra("WORD_MEANING", wordList.get(currentPos).getMeaning());
toThirdIntent.putExtra("WORD_INDEX", currentPos);
startActivity(toThirdIntent);
二、第三个Activity的取值&控件绑定是否出错

这绝对是重灾区,新手经常漏做绑定或者取值逻辑有问题:

  1. 控件必须先绑定再赋值:你得先在onCreate里用findViewById找到第三个Activity布局里的两个文本控件,没绑定就直接setText的话,程序不会报错,但就是啥都不显示!
  2. 要处理空值情况:如果Intent传值失败,getStringExtra会返回null,直接设置的话TextView就是空白,建议加个默认值兜底。
  3. 给你贴个标准的第三个Activity初始化代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_third); // 这里要确保布局文件路径完全正确!

    // 第一步:绑定布局里的文本控件
    TextView wordTv = findViewById(R.id.tv_word_content);
    TextView meaningTv = findViewById(R.id.tv_word_meaning);
    TextView indexTv = findViewById(R.id.tv_word_index); // 显示序号的控件

    // 第二步:获取Intent传递的参数
    Intent receivedIntent = getIntent();
    if (receivedIntent != null) {
        String word = receivedIntent.getStringExtra("WORD_CONTENT");
        String meaning = receivedIntent.getStringExtra("WORD_MEANING");
        int index = receivedIntent.getIntExtra("WORD_INDEX", 0); // 第二个参数是默认值,防止没传值

        // 第三步:把值设置到控件上
        wordTv.setText(word != null ? word : "暂无单词");
        meaningTv.setText(meaning != null ? meaning : "暂无释义");
        indexTv.setText("当前单词:第" + (index + 1) + "个"); // 序号从1开始显示更友好
    }
}
三、排查布局文件的小细节

别忽略布局里的坑:

  • 检查第三个Activity的布局文件(比如activity_third.xml),是不是文本控件的android:visibility被设成了gone或者invisible?改成visible就行。
  • 有没有把文字颜色设成和背景色一样了?比如背景是白色,文字也设成白色,那看起来就是空的!临时改成黑色试试就能验证。
四、额外排查:数据来源是否为空

如果你是从列表里取单词数据,要确保你的单词列表已经正确初始化、并且有数据——比如你要取的序号对应的位置,真的有单词和释义,不然传过去的就是null,显示当然为空。

要是按照上面的步骤排查完还是有问题,把你写的完整代码(比如第二个Activity的跳转逻辑、第三个Activity的取值代码、布局代码)贴出来,我帮你精准定位!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:24:48