【问题标题】:Is there a method to concatenate different activity TextView in EditText?有没有一种方法可以在 EditText 中连接不同的活动 TextView?
【发布时间】:2019-10-22 21:07:58
【问题描述】:

有 3 个活动。第一个和第二个活动中Textview的文本值显示在第三个活动的EditText中。

Mainactivity - Textview1 文本

第二个活动 - Textview2 文本

显示活动 - Edittext=Textview1+Textview2

使用意图我试图将两个活动的 TextView 值传递给第三个活动。在第三个活动中,我通过在 EditText 中简单地使用 + 进行连接。我试图在一个段落中显示以前的 textview 值,即 EditText。

此代码在第三个活动中:

显示活动

 Intent intent = getIntent();

 String displayingtext = intent.getStringExtra("message");

 String displayingsecondtext = intent.getStringExtra("hey");

 editText.setText(displayingtext+displayingsecondtext);

显示文本名称:消息来自第一个活动

displaysecondtext name : 嘿来自第二个活动

显示的输出来自第一个 textview 和下一个单词 null。

在它显示的代码中

“不要在 setText 上使用连接。使用 android 资源”

输入

Textview1= 你好,星期一。

Textview2=再见,星期一。

预期输出:

Editext=你好,星期一。星期一再见。

【问题讨论】:

  • 您是否将从活动 1 获得的数据从活动 2 发送到活动 3

标签: java android android-layout


【解决方案1】:

使用 java.lang.String 中的 concat() 方法,插入“+”运算符。

String displayingtext = intent.getStringExtra("message");

 String displayingsecondtext = intent.getStringExtra("hey");

 editText.setText(displayingtext.concat(displayingsecondtext));

【讨论】:

  • 我将向它添加几个 textview 值。那么,通过 concat() 可以连接大约 10 个 textview 值?
【解决方案2】:

您需要将 Activity2 startActivity 意图参数中的“消息”从 Activity1 和“嘿”发送到 Activity3。

这只是一个警告,因为 Android Studio Lint 工具检查 setText 方法参数是否使用“+”运算符。考虑像这样修复它:

String resultText = displayingtext+displayingsecondtext;
editText.setText(resultText);

【讨论】:

  • 非常感谢。这让我想到了别的东西,它奏效了:D 我投了赞成票,但我的票没有投,因为我是新来的。
【解决方案3】:

使用greenbot事件总线你可以做得更好......

best example for event bus try it...

【讨论】:

    【解决方案4】:

    好的,我明白了.. 它是说你必须把它们放在资源中.. 如果您的应用程序不使用多语言支持,那么您可以简单地忽略警告

    【讨论】:

    • 文本值不会被修改。
    • 设置共享首选项后,您可以在应用程序的任何位置访问它们。您可以从任何活动中访问它们
    猜你喜欢
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    相关资源
    最近更新 更多