《Android开发》——1.Activity之间的参数传递
2015-11-14 22:46
429 查看
Activity 之间的参数传递
在两个Activity之间,可以通过Intent进行参数传递,同时,Intent可以结合包数据Bundle进行打包传输。Intent
MainActivity.java@Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Intent intent=new Intent(MainActivity.this,AnotherActivity.class); intent.putExtra("parameter","start new activity"); startActivity(intent); } }); }
AnotherActivity.java
@Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_another); textView=(TextView)findViewById(R.id.textView); Intent intent=getIntent(); textView.setText(intent.getStringExtra("parameter")); }
Bundle
1、 使用Intent.putExtras与BundleMainActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this,AnotherActivity.class); // intent.putExtra("parameter","start new activity"); Bundle bundle = new Bundle(); bundle.putString("parameter","get bundle data"); bundle.putInt("age",56); bundle.putString("name1","wgt"); intent.putExtras(bundle); startActivity(intent); } }); }
AnotherActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_another); textView = (TextView) findViewById(R.id.textView); Intent intent = getIntent(); Bundle bundle = intent.getExtras(); textView.setText(String.format("parameter=%s,age=%d,name1=%s",bundle.getString("parameter"), bundle.getInt("age"),bundle.getString("name1","leo"))); }
2、 使用Intent.putExtra与Bundle
MainActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this,AnotherActivity.class); // intent.putExtra("parameter","start new activity"); Bundle bundle = new Bundle(); bundle.putString("parameter","get bundle data"); bundle.putInt("age",56); bundle.putString("name1","wgt"); // intent.putExtras(bundle); intent.putExtra("bundle",bundle); startActivity(intent); } }); }
AnotherActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_another); textView = (TextView) findViewById(R.id.textView); Intent intent = getIntent(); // Bundle bundle = intent.getExtras(); Bundle bundle = intent.getBundleExtra("bundle"); textView.setText(String.format("parameter=%s,age=%d,name1=%s", bundle.getString("parameter"), bundle.getInt("age"), bundle.getString("name1", "leo"))); }
相关文章推荐
- 最近的一些感想(关于移动客户端开发android,ios)
- android中的MVP模式
- Android的SQlite先天不足:删除 插入后主键不能自动排序 解决(附:SQlite开发的完整demo)
- 解决Android中多次点击(快速点击多次 )启动多个相同界面的问题
- 【Android】Android sdk content loader 0%
- 安卓星级控件
- android 中this与supe的区别
- 关于Android中的内存泄漏之异步操作
- Android性能调优
- Android Studio简单设置
- Android Studio 快捷键整理分享
- 自定义view实现android5.0 ripple效果
- Android 组合控件
- Windows环境下Android Studio v1.0安装教程
- android中Serializable 和 Parcelable 的区别
- Android创建前台运行的Service(不会被系统杀死)
- Android之混淆代码总结
- Android中Xml工具类的封装
- android图片等比例缩放 填充屏幕
- android图片压缩问题