加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Android Activity之间进行参数传递的三种方式

发布时间:2020-12-14 23:17:05 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 1.使用Intent进行传输 //发送数据的Activity class button implements OnClickListener{ @Override public void onClick(View v) { // TODO Auto-gene

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

1.使用Intent进行传输

    //发送数据的Activity  
    class button implements OnClickListener{  
        @Override  
        public void onClick(View v) {  
            // TODO Auto-generated method stub  
            String ET_1String = ET_1.getText().toString();          //得到文本输入框中的文本  
            String ET_2String = ET_2.getText().toString();  
            Intent intent = new Intent();  
            intent.putExtra("one",ET_1String);                      //进行参数的传递(“参数名字”,参数)  
            intent.putExtra("two",ET_2String);  
            intent.setClass(MainActivity.this,result.class);  
            MainActivity.this.startActivity(intent);  
        }  
    }  
      
    //接收数据的Activity  
      public class result extends Activity{  
    private TextView resulTextView;                           
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.result);  
            resulTextView = (TextView)findViewById(R.id.TV_1);  
            Intent intent = getIntent();                        //定义接收数据的Intent  
            String oneString = intent.getStringExtra("one");  
            String twoString = intent.getStringExtra("two");  
            int a = Integer.parseInt(oneString);                //进行计算之前要进行强制类型转换  
            int b = Integer.parseInt(twoString);  
            int c = a * b;  
            resulTextView.setText(c + "");                      //要加一个空字符对int类型进行强制类型转换  
        }  
    }  

2.使用静态变量进行传递

    1.主界面(发送数据的Activity)  
      
    class ButtonListener implements android.view.View.OnClickListener{  
            @Override  
            public void onClick(View arg0) {  
                // TODO Auto-generated method stub  
                Intent intent = new Intent();  
                intent.setClass(MainActivity.this,OtherActivity.class);  
                OtherActivity.nameString = "zhao";  
                startActivity(intent);  
            }  
        }  
          
    2.接受数据Activity  
          
        public class OtherActivity extends Activity{  
        //定义静态变量  
        public static String nameString;  
          
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.otheractivity);  
            System.out.println("nameString-------->"+nameString);  
        }  
    }  

3.利用setResult进行数据传输

    //1.要关闭的页面  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.otheractivity);  
        Intent intent = this.getIntent();  
        intent.putExtra("tel",12345);  
        //设置requestCode和带有数据的intent对象  
        OtherActivity.this.setResult(3,intent);  
        //马上关闭Activity  
        this.finish();  
    }  
      
    //2.上面的页面关闭时,此页面进行数据的接收  
    class ButtonListener implements android.view.View.OnClickListener{  
        @Override  
        public void onClick(View arg0) {  
            Intent intent = new Intent();  
            intent.setClass(MainActivity.this,OtherActivity.class);  
            //与普通的start方法不同,需要设置requestCode  
            startActivityForResult(intent,1);  
        }  
    }  
      
    //如果要进行此操作,需要在数据接收页面中复写activity的onActivityResul()方法  
    @Override  
    protected void onActivityResult(int requestCode,int resultCode,Intent data) {  
        super.onActivityResult(requestCode,resultCode,data);  
        int tel = 0;  
        //根据返回码resultCode来判断下一步进行的业务代码  
        if(resultCode==3){  
            tel = data.getIntExtra("tel",0);  
        }  
        Log.i(TAG,"tel--------->"+String.valueOf(tel));  
    }  

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读