zoukankan      html  css  js  c++  java
  • Android 使用全局变量传递数据

    使用全局变量传递数据,所谓的全局变量类似于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
        }

    然后在MainActivity.java中,添加

    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);
                }
            });
        }

    新建布局文件other.xml文件加入

    <TextView android:id="@+id/msg" android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

    新建OtherActivity.java文件

    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());
        }
    }

    最后在清单文件中注意:先在标签application中加入

     <activity android:name=".OtherActivity"></activity>

    再在application标签中加入属性android:name=".MyApp"

  • 相关阅读:
    background之你不知道的background-position
    ES6学习笔记(二)
    ES6学习笔记(一)
    将博客搬至CSDN
    Mongodb的性能优化问题
    使用AngularJS实现的前后端分离的数据交互过程
    输出JS代码中的变量内容
    程序生成word与PDF文档的方法(python)
    python 2.7安装某些包出现错误:"libxml/xmlversion.h:没有那个文件或目录"
    Linux中安装配置spark集群
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4227750.html
Copyright © 2011-2022 走看看