gpt4 book ai didi

java - 在具有 Intent 的 Activity 之间传递文本

转载 作者:行者123 更新时间:2023-12-02 05:40:08 25 4
gpt4 key购买 nike

我在让 Intent 的额外内容在 Activity 之间传递时遇到一些困难。我是 android 的初学者,即使是这个小事情也确实困扰着我。

当我按下按钮时,我试图将输入到 MyActivity.java 中的 EditText 中的信息传递到 DisplayMessageActivity.java 中的 TextView 。

这是 MyActivity.java 代码:

public class MyActivity extends Activity {
public final static String EXTRA_MESSAGE = "myfirstapp.example.com.myapplication.MESSAGE";

public void sendMessage(View view) {
Intent message_send = new Intent(this, DisplayMessageActivity.class);
EditText edit_message = (EditText) findViewById(R.id.edit_message);
String message = edit_message.getText().toString();
message_send.putExtra(EXTRA_MESSAGE, message);
MyActivity.this.startActivity(message_send);
}

这是 DisplayMessageActivity.java 的代码:

 public class DisplayMessageActivity extends Activity {

@Overide
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent message_send = getIntent();
String message = message_send.getStringExtra(MyActivity.EXTRA_MESSAGE);
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
setContentView(R.layout.activity_display_message);
}

如果有人能告诉我发生了什么,那就太好了。谢谢!

最佳答案

DisplayMessageActivity 正在创建一个新的 TextView 并设置传入的消息,但新的 TextView 没有显示在任何地方。

很可能,您不想创建新的 TextView,而是首先setContentView,然后调用 findViewById 来定位您的 TextView.

字符串传递代码都是正确的。

@Overide
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
Intent message_send = getIntent();
String message = message_send.getStringExtra(MyActivity.EXTRA_MESSAGE);
TextView textView = (TextView) findViewById(R.id.my_text_view);
textView.setTextSize(40);
textView.setText(message);
}

关于java - 在具有 Intent 的 Activity 之间传递文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24591154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com