不同activity之间的数据的传递有多种方式,这里主要记录两种方式。第一种是通过Bundle来传递数据,第二种方法就是直接通过Intent来传递数据。
通过Bundle来传递数据,首先在主activity中将需要传递的数据封装保存到bundle中,该部分代码如下:
Bundle bundle=new Bundle(); Intent intent=new Intent(); bundle.putCharSequense("user",user); //将user数据通过bundle进行封装到一个名字为user的包里 bundle.putCharSequense("password",password); intent.putExtras(bundle);
Intent intent=new Intent(); intent.putExtra("com.mingrisoft.USER",user); intent.putExtra("com.mingrisoft.PASSWORD",password);
//将bundle对象添加到intent对象中
之后需要在目标activity中将该数据取出,方法如下:
Intent intent=new Intent(); Bundle bundle=intent.getExtras(); //此处取出的bundle为一个数组 String user=bundle.getString("user"); //通过包名取出对应的数据 String password=bundle.getString("passwoed");
通过Intent直接传递数据,首先在主activity中将需要传递的数据封装保存到intent中,该部分代码如下:
Intent intent = new Intent(); // intent.setClass(registeredActivity.this, landingActivity.class); intent.putExtra("USERNAME", un.getText().toString()); intent.putExtra("PASSWORD", pw.getText().toString()); // intent.setClass(registeredActivity.this, landingActivity.class); // startActivity(intent);
之后同样需要在目标activity中将该数据取出,方法如下:
Intent intent=getIntent(); //获得Intent String username=intent.getStringExtra("USERNAME"); //将注册的账号密码自动填入登陆界面 String password=intent.getStringExtra("PASSWORD");