使用全局变量传递数据,所谓的全局变量类似于jee开发中的application变量。申明后,全局调用。只有当内存被清理后,才被销毁。否则一直可以调用。
还是使用点击一个button,传递一个数据到另一个页面中显示。
首先,新建工程,然后,打开mainActivity.xml文件,然后,添加button。
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="使用Application传递数据" />
先新建一个MyApp.java类,存储全局变量
- public String name;
- @Override
- public void onCreate() {
- // TODO Auto-generated method stub
- super.onCreate();
- setName("hello");
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public MyApp() {
- // TODO Auto-generated constructor stub
- }
- private Button button;
- private MyApp myapp;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- button = (Button)this.findViewById(R.id.button);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- //获取全局变量数据
- myapp=(MyApp)getApplication();
- //myapp.setName("world");//可重新赋值
- Intent intent = new Intent(MainActivity.this,OtherActivity.class);
- startActivity(intent);
- }
- });
- }
- <TextView android:id="@+id/msg" android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- public class OtherActivity extends Activity {
- private MyApp myapp;
- private TextView textview;
- public OtherActivity() {
- // TODO Auto-generated constructor stub
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.other);
- textview = (TextView)this.findViewById(R.id.msg);
- myapp = (MyApp)getApplication();
- textview.setText("name---->"+myapp.getName());
- }
- }
- <activity android:name=".OtherActivity"></activity>