Android 单击将项目id传递给intent

Android 单击将项目id传递给intent,android,android-intent,onitemclick,Android,Android Intent,Onitemclick,我从第一个意图中打印出正确的id,但没有正确地将第二个意图发送给它 单击项目的第一个意图: (对于以后的观众,此问题已更新为正确答案): 日志:05-08 17:46:19.166:I/System.out(14382):视频id intent 2=null您将long作为额外值传递,但试图将其作为字符串读取。l是long的类型 因此,您需要提取long而不是String-like videoLong = extras.getLong("videoId"); 因此,全面实现第二个意图是必要的

我从第一个意图中打印出正确的id,但没有正确地将第二个意图发送给它

单击项目的第一个意图: (对于以后的观众,此问题已更新为正确答案):


日志:
05-08 17:46:19.166:I/System.out(14382):视频id intent 2=null
您将
long
作为额外值传递,但试图将其作为
字符串读取。
llong的类型

因此,您需要提取long而不是String-like

 videoLong = extras.getLong("videoId");
因此,全面实现第二个意图是必要的

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final VideoView videoView;

    setContentView(R.layout.activity_play_video);

    Bundle extras;
    Long videoLong;

    if (savedInstanceState == null) {
        extras = getIntent().getExtras();
        if (extras == null) {
            videoLong= null;
        } else {
            videoLong= extras.getLong("videoId");
            System.out.println("video id intent 2 =  " + videoLong);
        }
    }

你放了很长的一段时间,试图得到一根绳子。。。第一:在第一个活动中输入Long,然后检索字符串。更改
extras.getString(…
videoLong=(Long)null
这不起作用,需要以不同的方式处理它,例如
videoLong=0
;或者按照Matej的建议,使用
Long videoLong;
,如果在
extras.getLong(“videoId”)中找不到该值,请记住
它将返回0,而不是null。没问题,祝Android编程好运:-)。如果你认为我的回答是有用的,请把它投票或标记为正确。非常感谢:)
videoLong=null
long不能为null,需要用另一种方式处理是的,我忘了。。。原始数据类型不能为NULL,需要使用包装类长,回答编辑:P…也可能考虑使用不同的默认值(如果0不是可接受的默认值)。
 videoLong = extras.getLong("videoId");
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final VideoView videoView;

    setContentView(R.layout.activity_play_video);

    Bundle extras;
    Long videoLong;

    if (savedInstanceState == null) {
        extras = getIntent().getExtras();
        if (extras == null) {
            videoLong= null;
        } else {
            videoLong= extras.getLong("videoId");
            System.out.println("video id intent 2 =  " + videoLong);
        }
    }