1. MainActivity
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends AppCompatActivity {
static String EXTRA_MESSAGE = "com.example.myapplication.Message";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/** Called when the user taps the Send button */
public void sendMessage(View view) {
// Do something in response to button
EditText editText = (EditText)findViewById(R.id.editText);
String message = editText.getText().toString();
System.out.println(message); //测试是否取到值
Intent intent = new Intent(this,DisplayMessageActivity.class);//第二个参数就是跳转目的页面的Activity
intent.putExtra(EXTRA_MESSAGE,message);
intent.putExtra("aaa","bbb");//测试例子
System.out.println(intent.getStringExtra(EXTRA_MESSAGE));
startActivity(intent);
}
}
2.DisplayMessageActivity
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class DisplayMessageActivity extends AppCompatActivity {
static String EXTRA_MESSAGE = "com.example.myapplication.Message";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_message);
Intent intent = getIntent();
String message = intent.getStringExtra(EXTRA_MESSAGE);
System.out.println(message);
System.out.println(intent.getStringExtra("aaa"));//测试例子
TextView textView = findViewById(R.id.textView);
textView.setText(message);
}
}
主页面
跳转页面
MainActivity 中的变量EXTRA_MESSAGE,如果用
intent.putExtra(EXTRA_MESSAGE,message);
则取值也得是
intent.getStringExtra(EXTRA_MESSAGE)
如果用
intent.getStringExtra("EXTRA_MESSAGE")
则取值为null,原因未知,因此传值取值的话还是像
intent.putExtra("aaa","bbb");
intent.getStringExtra("aaa");
另外,目的页面的Activity中Intent不能重新实例化,否则instent.getStringExtra()是不可能取到值的,目的页面的intent需要用getIntent()获取。
另外,页面构造请参考:
1.官方文档:构建简单页面
2.官方文档:启动另一个Activity