俺是新人……最近才刚开始学android……
最近在研究关于对象传值那个putEtra函数……
发现value的地方如果用“”引住就能传,写上string.xml里有定义的地址就传不到另一个Activity里了?这是为什么呢?例如:
intent.putExtra("one", "1");
这样就可以显示1
如果是
intent.putExtra("one", R.string.two);
在string里面定义了two的值
就无法显示定义的内容了……另一个Activity取出Etra的语句如下
Intent fromFirst = getIntent();
String onestr = fromFirst.getStringExtra("one");
text2 = (TextView)findViewById(R.id.text2);
text2.setText(onestr);
最近在研究关于对象传值那个putEtra函数……
发现value的地方如果用“”引住就能传,写上string.xml里有定义的地址就传不到另一个Activity里了?这是为什么呢?例如:
intent.putExtra("one", "1");
这样就可以显示1
如果是
intent.putExtra("one", R.string.two);
在string里面定义了two的值
就无法显示定义的内容了……另一个Activity取出Etra的语句如下
Intent fromFirst = getIntent();
String onestr = fromFirst.getStringExtra("one");
text2 = (TextView)findViewById(R.id.text2);
text2.setText(onestr);
text2.setText(onestr);这里接收时整型已经不是整型了。只有整型是系统才会去查找,字符是不翻译的。
就是setText()不把它当做地址了?
如果楼主想直接取出R.string.two对应的字符串值,可以考虑用getResources().getText(R.string.two).toString();
这样就可以显示1
->估计你的putExtra是putExtra(String,String);所以你写intent.putExtra("one", R.string.two);时类型就没有匹配;应该是这样;
其实我实在做实验,尝试着各种用intent传值的方式,
这个bug是我想用intent将一段文字从Activity01传到Activity02,然后在Activity02的TextView中显示出来时遇到的……
其实直接在Activity02里用R.string.two就可以直接显示了……但是我想尝试一下上面那个方法行不行……不过貌似不行啊= =
如果intent传过来的是地址,那么在Activity02中有没有什么方法可以通过传过来的地址找到string.xml中的字符串然后显示出来的呢?
请问你说的那个方法什么时候用啊?在setText的()里吗?