[英]Passing text between activities with an Intent
我很難在活動之間傳遞意圖的附加內容。 我是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
不會顯示在任何地方。
最有可能的是, setContentView
先創建一個新的TextView
, setContentView
先設置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);
}
在dispalyActivity
您可以使用此代碼
Bundle b = getIntent().getExtra();
String message = b.getString("message name");
代替
Intent message_send = getIntent();
String message = message_send.getStringExtra(MyActivity.EXTRA_MESSAGE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.