Android getIntExtra始终返回默认的当前帖子,这些帖子也不起作用
在activity SongDetails和MainActivity之间传递数据时,getIntExtra始终返回默认值。请参阅下面的代码 第一项活动Android getIntExtra始终返回默认的当前帖子,这些帖子也不起作用,android,android-intent,Android,Android Intent,在activity SongDetails和MainActivity之间传递数据时,getIntExtra始终返回默认值。请参阅下面的代码 第一项活动 Log.d("URL", "isIntentDriven = TRUE"); Intent intent = new Intent(SongDetails.this, MainActivity.class); Log.d("URL", " " + sid);
Log.d("URL", "isIntentDriven = TRUE");
Intent intent = new Intent(SongDetails.this, MainActivity.class);
Log.d("URL", " " + sid);
intent.putExtra("sid", sid);
startActivity(intent);
finish();
第二项活动
private void getSIDIntent() {
int sid = 0;
Intent mIntent = getIntent();
try {
sid = mIntent.getIntExtra("sid", 0);
Log.d("URL", "" + sid);
} catch (Exception e) {
} finally {
if (sid > 0) {
addSongDownload(sid);
}
}
hideKeyboard();
}
更新:
我也试过这个
SongDetails.java putExtra,只要仍然为0
long sid;
intent.putExtra("sid", sid);
Main.java
long sid = 0;
Intent mIntent = getIntent();
try {
sid = mIntent.getLongExtra("sid", 0);
如果将
MainActivity
定义为singleTop或singleTask,则其getIntent()
方法将不会指向您正在传递的新意图——它将返回“原始”意图。要阅读新的意图,实际上需要重写onNewIntent()
从:
这是为在中将launchMode设置为“singleTop”的活动调用的
他们的包,或者如果客户使用标志\u活动\u单个\u顶部
标志
调用开始触觉(意图)
时。无论哪种情况,当活动
在活动堆栈顶部重新启动,而不是新的
将调用正在启动的活动的实例,onNewIntent()
在现有实例上,具有用于重新启动的意图
它
请注意,getIntent()
仍然返回原始意图。你可以用
setIntent(Intent)
将其更新为新的Intent
在第一个活动中,sid不是int?是的,我正在使用int putExtra,我刚刚添加了它来查看,但没有任何区别。SongDetails活动中sid的值是多少?正确的“歌曲id”。在MainActivity中,它保持0。启动时是否需要添加一些意图标志?不确定?