1、使用剪切板方式clipboardManager
Activity A 中的内容传值到Activity B
A中代码:
String name = "shujuchudi";
ClipboardManager cm = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
cm.setText();
Intent in = new Intent(MainActivity.this, Other.class);
startActivity(in);
B中代码:
ClipboardManager cm = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);
cm.getText();
2、使用intent传值
Activity A 中的内容传值到Activity B
A中代码:
//生成Intent对象(包含了ctivity间传的Data,param);相当于一个请求
Intent intent=new Intent();
//键值对
intent.putExtra("extra", "archie2010");
//从此ctivity传到另一Activity
intent.setClass(OneActivity.this, OtherActivity.class);
//启动另一个Activity
OneActivity.this.startActivity(intent);
B中代码:
//获得从上一个Activity传来的intent对象
Intent intent=getIntent();
String stringValue=intent.getStringExtra("extra");
myTextView=(TextView) findViewById(R.id.myTextView);
//设置TextView显示的值(引用String的配置文件)
//myTextView.setText(R.string.other);
//从上个Activity传过来的值
myTextView.setText(stringValue);
当然除了使用intent类的putEtra()方法,还可以使用Bundle类来传值
A中代码:
Intent intent=new Intent();
intent.setClass(OneActivity.this, OtherActivity.class);
Bundle bundle = new Bundle();
bundle.putString("标记", "放入数据");
startActivity(intent);
B中代码:
Intent intent=getIntent();
Bundle bundle = intent.getEtra();
String s = bundle.getString("标记");
3、使用Application
在Android中,有一个名为Application的类,我们可以在Activity中使用getApplication(),方法来获得,它是代表我们的应用程序的类,使用它可以获得当前应用的主题,资源文件中的内容等,这个类更灵活的一个特性就是可以被我们继承,来添加我们自己的全局属性。
使用方法为继承Application,定义所需类型变量,定义对应的get 和 put 方法即可