android开发:想用putExtra和getStringExtra来实现数据传递,怎么用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发:想用putExtra和getStringExtra来实现数据传递,怎么用?相关的知识,希望对你有一定的参考价值。
我写的代码如下
1. main里的代码:
public class Mission3 extends Activity
public static final int REQUEST_CODE_MENU = 1001;
EditText usernameInput;
EditText passwordInput;
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.mission3);
Button loginBtn = (Button)findViewById(R.id.loginBtn);
loginBtn.setOnClickListener(new OnClickListener()
public void onClick(View v)
String username = usernameInput.getText().toString();
String password = passwordInput.getText().toString();
Intent intent = new Intent(getApplicationContext(),Mission31.class);
intent.putExtra("username", username);
intent.putExtra("password", password);
startActivityForResult(intent, REQUEST_CODE_MENU);
);
usernameInput = (EditText)findViewById(R.id.UserNameInput);
passwordInput = (EditText)findViewById(R.id.passwordInpunt);
2. Mission31里的代码:
public class Mission31 extends Activity
public static final int RESPONSE_CODE_OK = 200;
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.mission31);
TextView textview31 = (TextView)findViewById(R.id.textview31);
Intent received = new Intent();
String username = received.getStringExtra("username");
String password = received.getStringExtra("password");
textview31.setText(username);
Toast.makeText(this, username, Toast.LENGTH_LONG).show();
我想在textview1和toast上显示 username的数据,可是上面的代码输出的结果总是null。怎么解决?
Android 中使用bundle.putExtra实现Activity之间的参数传递
1.Bundle简介:
Bundle主要用于传输数据,它保存的数据,是以key-value的形式存储的。
Bundle常用于在Activity间传递数据 ,当bundle传递的是对象或对象数组时,必须实现Serializable或Parcelable接口.。
intent.putExtra(键值对,具体要传递的值)
@Override
public void onClick(View v) {
Intent intent = new Intent(this,MainActivity2.class);
//将要传递的值,附加给intent对象
intent.putExtra("a1","hello");
intent.putExtra("a2","hello2");
startActivity(intent);
}
req.getString(键值对)
@Override
protected void onResume() {
super.onResume();
getBundleInfo();
}
private void getBundleInfo() {
Bundle req=getIntent().getExtras();
//取出intent中附加的数据,通过 键值对 来传递
String a11=req.getString("a1");
String a22=req.getString("a2");
tv1.setText(a11);
tv2.setText(a22);
}
以上是关于android开发:想用putExtra和getStringExtra来实现数据传递,怎么用?的主要内容,如果未能解决你的问题,请参考以下文章
Android:intent.putExtra 在服务类中获取通知
Android Studio中如何在Activity跳转之间传递数据