当前位置: 代码迷 >> Android >> 问一个很呆的关于intent.putEtra()的有关问题…
  详细解决方案

问一个很呆的关于intent.putEtra()的有关问题…

热度:27   发布时间:2016-05-01 21:50:45.0
问一个很呆的关于intent.putEtra()的问题……
俺是新人……最近才刚开始学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);

------解决方案--------------------
R.string.two 这是一个整型数,你后面取得时候可没有把它当整型,在
text2.setText(onestr);这里接收时整型已经不是整型了。只有整型是系统才会去查找,字符是不翻译的。
------解决方案--------------------
表示不明白楼主在三楼的意思……
如果楼主想直接取出R.string.two对应的字符串值,可以考虑用getResources().getText(R.string.two).toString();
------解决方案--------------------
R.string.two 是R.java里的id
------解决方案--------------------
intent.putExtra("one", "1");
这样就可以显示1
->估计你的putExtra是putExtra(String,String);

所以你写intent.putExtra("one", R.string.two);时类型就没有匹配;应该是这样;

------解决方案--------------------
intent.putExtra("one", getResources().getText(R.string.two).toString());
  相关解决方案