当前位置: 代码迷 >> Android >> Activity之间通信的一个有关问题
  详细解决方案

Activity之间通信的一个有关问题

热度:107   发布时间:2016-05-01 10:48:57.0
Activity之间通信的一个问题
假设有两个Activity,A和B。首先用A启动B,比如:
Intent intent = new Intent();
intent.setClass(A.this, B.class);
startActivity(intent);
然后要让B给A传递一些数据过来,该怎么解决?
我用这个方法出现错误:(317): java.lang.NumberFormatException: unable to parse '' as integer
A中:
Intent intent = new Intent();
intent.setClass(BaiduMap.this, Interest.class);
startActivityForResult(intent, 0);

B中:
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("keywords", keywords.getText().toString());//从EditText中取数据
bundle.putInt("range", Integer.parseInt(range.getText().toString()));//从EditText中取数据
intent.putExtras(bundle);
intent.setClass(Interest.this, BaiduMap.class);
Interest.this.setResult(RESULT_OK,intent);
Interest.this.finish();
求高手解答。
android中Activity间的通信

------解决方案--------------------
你在文本框中输入的字符不是Int类型,造成:数字格式异常:无法解析的整数
------解决方案--------------------
bundle.putInt("range", Integer.parseInt(range.getText().toString()));//从EditText中取数据
你是不是在文本框输入的不是整数呀..
------解决方案--------------------
try  catch 一下呗
------解决方案--------------------
两边类型要一致。
------解决方案--------------------
类型不一致了吧,楼主你不做下测试或者debug么?
------解决方案--------------------
楼主java不给力啊
------解决方案--------------------
B中intent.setClass(Interest.this, BaiduMap.class);
不需要
setResult就不需要这个,
------解决方案--------------------
转换格式异常
A到B,B再到A,用activity自带的方法onActivityResult吧。
------解决方案--------------------
A启动B使用startActivityForResult

在A中重写onActivityResult
  相关解决方案