当前位置: 首页 > 后端技术 > PHP

活动之间的参数传递

时间:2023-03-29 17:59:00 PHP

1。第一种是简单转移。发送:switch(v.getId()){caseR.id.btn1:EditTexteditText=findViewById(R.id.editText);Intentintent=newIntent(this,my1Activity.class);intent.putExtra("数据",editText.getText().toString());启动活动(意图);休息;接收:意图intent=getIntent();Stringstr1=intent.getStringExtra("数据");TextViewtextView=findViewById(R.id.textView3);textView.setText(str1);2.第二种方法:使用bundle。外汇FAQhttp://www.kaifx.cn/lists/que...发送:Bundlebundle=newBundle();bundle.putString("data1",editText.getText().toString()+editText.getText().toString());intent.putExtras(捆绑包);启动活动(意图);接收:捆绑bundle=getIntent().getExtras();textView1.setText(bundle.getString("data1").toString());3、比较复杂:sender:caseR.id.btn1:EditTexteditText=findViewById(R.id.editText);Intentintent=newIntent(this,my1Activity.class);//定义。Mapmap=newHashMap<>();map.put("key1","Value1");map.put("key2","Value1");列表>list=newArrayList<>();list.add(地图);//必须定义一个list,把需要传入的ArrayList传入bundle,这个是必须的!捆绑捆绑=新捆绑();ArrayListbundlelist=newArrayList();bundlelist.add(列表);bundle.putParcelableArrayList("list",bundlelist);intent.putExtras(捆绑包);启动活动(意图);休息;Receive://接收参数Bundlebundle=getIntent().getExtras();ArrayList列表=bundle.getIntegerArrayList("列表");//将list中的参数转换为List>lists=(List>)list.get(0);字符串sResult="";for(Mapm:lists){for(Stringk:m.keySet()){sResult+="\r\n"+k+":"+m.get(k);}}}TextViewtextView=findViewById(R.id.textView3);TextViewtextView1=findViewById(R.id.textView4);textView1.setText(sResult);4.定义全局变量:定义:publicclassmy_data{publicstaticString·m1;公共静态整数d1;}使用:textView.setText(my_data.m1);