【发布时间】:2014-04-07 22:20:40
【问题描述】:
我在通过 Intent 从一个活动向另一个活动发送和接收 int 类型时遇到问题;
我使用 onActivityResult() 函数发送它,该函数放置在接收活动中。
代码:
发送活动:
Intent ba=new Intent();
MyPoints = fgv.getPoints();
int MP=(int)MyPoints;
Log.i("Problem","MyPoints MP = "+MP);
ba.putExtra("FocusScore",MP);
Log.i("Problem","MyPoints = "+MP);
setResult(RESULT_OK,ba);
finish();
接收活动:
//在onClick时为了移动其他类
Intent goFocus =new Intent(Games.this,FocusGame.class);
startActivityForResult(goFocus,1);
//在onActivityResult函数处
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK)
{
switch (requestCode) {
case 1: {
//Coming back from Focus-Game
//Problem:!!
int sss= getIntent().getIntExtra("FocusScore", -1);
Log.i("Problem","sss = "+sss);
}
break;
default :
break;
}
}
代码的结果给出了一个日志,其中 sss=-1。这意味着
getIntent().getIntExtra();
始终为空。
MP 的日志工作正常。
-
希望你能在这里帮助我。
- 提前致谢, 亚尼夫。
【问题讨论】:
-
这个日志
Log.i("Problem","MyPoints MP = "+MP);是什么? -
它在 LogCat 上显示一条消息,标签为“问题”。
-
@YanivGK MP 的值?
标签: android android-intent onresume onactivityresult