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