getIntExtra仅返回默认值,getStringExtra有效

时间:2014-06-30 15:44:41

标签: android android-intent android-activity

我有这个调用活动的代码

            Intent intent;
            intent=new Intent(TopicsActivity.this, DisplayTopicActivity.class);

            long nID=5;
            intent.putExtra("TOPIC_ID", nID);

            String strTopicName = ((TextView) viewClicked).getText().toString();
            intent.putExtra("TOPIC_NAME", strTopicName);

            startActivity(intent);

以及活动中的此代码

            private void handleIntent(Intent intent) {
            long nID = intent.getIntExtra("TOPIC_ID", 0);
            String strTopicName = intent.getStringExtra("TOPIC_NAME");

getStringExtra正确返回strTopicName,但getIntExtra始终返回0

1 个答案:

答案 0 :(得分:4)

没有Integer额外费用。这就是为什么你总是零。查看用于添加额外内容的代码:

long nID=id;
intent.putExtra("TOPIC_ID", nID);

额外的密钥" TOPIC_ID"是Long,而不是Integer

要么将其作为Integer投放,要么将其作为Long投放。