Java Android Studio。用于在不同活动中的两个编辑文本之间传递数据的代码

Java Android Studio。用于在不同活动中的两个编辑文本之间传递数据的代码,java,android,Java,Android,我已经做了3个活动,第一个是主要的,并把2个按钮通过意图传递给其他页面。 我在第2页和第3页之间做了一个编辑文本的意图,效果很好,但如果我转到主要活动并选择从按钮转到第3页,它将停止,并且必须转到第2页,然后通过意图转到第3页。。。 第2页和第3页的主要活动代码为 Intent intent =new Intent ( MainActivity.this,page2.class); Page 2 code Intent i = new Intent (page2.this

我已经做了3个活动,第一个是主要的,并把2个按钮通过意图传递给其他页面。 我在第2页和第3页之间做了一个编辑文本的意图,效果很好,但如果我转到主要活动并选择从按钮转到第3页,它将停止,并且必须转到第2页,然后通过意图转到第3页。。。 第2页和第3页的主要活动代码为

Intent intent =new Intent ( MainActivity.this,page2.class);   

    Page 2 code
    Intent i = new Intent (page2.this,page3.class);
    i.putExtra ("string"editText1.getText ().toString ());  

    Page3 code
    Bundle bundle = getIntent ().getExtras ();
    editText.setText (bundle.getString ("string"));

这是因为您从活动2获取字符串,当您从主活动转到活动3时,它返回null,您可以做的是检查捆绑包是否有如下空字符串:

    Bundle bundle= getIntent().getExtras();
    if (bundle != null) {
       editText.setText (bundle.getString ("string"));
    }
    else {
       editText.setText ("Some string");
    }

如果您的复制粘贴很好,我认为这里缺少一个逗号:

i.putExtra ("string"editText1.getText ().toString ());  
应该是:

i.putExtra ("string",editText1.getText ().toString ()); 

我对片段使用bundle,但对于活动,请尝试以下方法:

Intent intent = getIntent();
editText.setText(intent.getStringExtra("nameofstring"));

您可以将文本添加到第1页的SharedReference中。然后从你的其他活动的简历(第2页和第3页)上读这段文字。你发现了什么错误?你能发布你的错误日志吗?确保您在清单文件中声明了所有活动,因为您已经创建了从mainActivity移动到第2页的意图。既然你没有提到执行这项任务的任何意图,你怎么能转到第3页呢。你能分享你的完整代码或错误的堆栈跟踪吗?主要活动是第1页,我在其中做了两个按钮,让每个人都去其他两个活动,我称之为第2页(我在其中插入了不同的编辑文本,其中包含一些公式计算中的数字)和第3页(也包含不同的编辑文本)我想把第2页的数字链接到第3页,因为每一页都有公式。第1页只包含标题和图像,还有2个按钮,第2页和第3页都包含编辑文本,每一页都有1个按钮,我用这些按钮进入下一页,就像在主活动(第1页)中按第2页到第3页一样我直接进入第2页,按下第2页的按钮,将信息分享到第3页(如数字)…问题是,当我在第1页,想在emulator中转到第3页时,它停止emulator中的程序,并且必须再次运行它,只有在按下第3页的情况下。非常好。在我使用了条件if with bundle like your code并最终在主活动和活动之间进行传输后,当我从主活动到活动2选择按钮时,emulator没有停止ty和emulator中的其他两个活动也从第2页和第3页传递信息…thnxbundle null如果为null,则指第2页活动??或者它的意思是如果最近的活动第3页为null??这行代码为null
Bundle Bundle=getIntent().getExtras();editText.setText(Bundle.getString(“string”));
因为您没有从主活动传递任何字符串。我写它时没有处理,我写的是逗号,但当我在bundle中使用if条件时,问题得到了解决