Intent传递数据-创新互联

http://blog.csdn.net/sukyle/article/details/4485505

创新互联是网站建设专家,致力于互联网品牌建设与网络营销,专业领域包括成都做网站、成都网站建设、电商网站制作开发、重庆小程序开发、微信营销、系统平台开发,与其他网站设计及系统开发公司不同,我们的整合解决方案结合了恒基网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供全方位的互联网品牌整合方案!

1.Activity之间传递数据

(1)利用Intent传递数据

      传递数据的Activity中:

     Intent intent = new Intent();
     intent.putExtra("name","Jon");//在Intent中加入键值对数据。键:name,值:Jon
       intent.setClass(Activity01.this,Activity02.class);
       Activity01.this.startActivity(intent);

      在取出数据的Activity中:

 Intent intent = getIntent();//获得传过来的Intent。
  String value = intent.getStringExtra("name");//根据键name取出值。

(2)利用Bundle传递数据

传递数据的Activity:

  Intent intent = new Intent();
  Bundle myBundle = new Bundle();
  myBundle.putString("Key_Name","Tom");
  intent.putExtras(myBundle);
  intent.setClass(Activity01.this,Activity02.class);
  Activity01.this.startActivity(intent);

取出数据的Activity:

  Bundle getBundle = getIntent().getExtras();
  String value = getBundle.getString("Key_Name");

(3)利用startActivityForResult传递数据

startActivityForResult可以把数据传过去,还可以把那边的数据传过来。

传递数据的Activity中:

  Intent intent     = new Intent();
   Bundle bundle  = new Bundle();
   bundle.putString("data", "somedata");//把数据传过去
   intent.putExtras(bundle);
   intent.setClass(Activity01.this, Activity02.class);
   startActivityForResult(intent, 10);//10是一个代码

重载onActivityResult方法,用来接收传过来的数据:

 protected void onActivityResult(int requestCode, int resultCode,Intent intent) {
  switch (resultCode) {
  case RESULT_OK:
     Bundle b = intent.getExtras();
     String str = b.getString("Result");
     setTitle("Return data:" + str);
      break;
  default:
       break;
  }
  }

接收数据的Activity:

 Intent  intent       = getIntent();
  Bundle getBundle = getIntent().getExtras();
  String  data          = getBundle.getString("data");//读取传过来的数据
  et.setText(data);

  EditText edittext = (EditText) findViewById(R.id.text);
  Intent intent = new Intent();//实例化一个Intent用来传过去,可以在Intent里存放数据。
  Bundle bundle = new Bundle();
  bundle.putString("Result",edittext.getText().toString());
  intent.putExtras(bundle);
  Activity02.this.setResult(RESULT_OK,intent);//把Intent(数据)传过去,RESULT_OK是请求码。
  finish();//结束当前的Activity。

2.http://xqjay19910131-yahoo-cn.iteye.com/blog/1280857

Activity传递一个或者多个对象

Activity之间传递对象,或者通过Bundle传递对象的两种方式。

1:Serializable方式
 传递一个对象

2:Parcelable方式
 传递一个对象、传递多个对象(ArrayList)

方式一:Serializable

    传递类:

Java代码 Intent传递数据 Intent传递数据Intent传递数据

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:Intent传递数据-创新互联
当前地址:http://hbruida.cn/article/iihjj.html