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】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java强制转换为枚举类型问题
- Java:volatile足以使类线程安全吗?
- Struts2 “.”和“[]”操作符:获取ActionContext中的所有内
- spring-boot通过@Scheduled配置定时任务及定时任务@Schedul
- java – 当Thread.currentThread().getContextClassLoader(
- 用Java集合中的Collections.sort方法如何对list排序(两种方
- 多线程 – 我可以从servlet生成一个线程吗?
- 如何使用java代码启动ios_webkit_debug_proxy
- There is no normal TM
- 类中的Java枚举列表[复制]