将数据从第一个活动传递到第二个,第二个活动到android中的第三个活动

时间:2016-02-29 01:37:06

标签: android android-intent

我共有3个活动。我传递了第一个活动的数据: 这是我的AsyncTask parseResult方法

    private void parseResult(String result) {
        try {

            Log.d("MainActivity", "JSON Result : " + result);
            JSONArray response = new JSONArray(result);

            for (int i = 0; i < response.length(); i++)

            {

                JSONObject obj = response.getJSONObject(i);
                String movie_d = obj.getString("newsD");


                String movie_t = obj.getString("newsT");

                String movie_i = obj.getString("newsI");


                String movie_s_link=obj.getString("newsS");

                String movie_youtube_link=obj.getString("youtubeLink");

                Log.d("movie_youtube_link","JSON Result : " + result);



                String movie_rev_r=obj.getString("reviewR");

                Log.d("documentName","JSON Result : " + result);

                Newspojo rev_gd = new Newspojo();


                rev_gd.setNewsDescription(movie_dec);

                rev_gd.setNewsT(movie_t);
                rev_gd.setNewsI(movie_i);
                rev_gd.setNewsS(movie_source_l);
                rev_gd.setYoutubeLink(movie_youtube_link);
                rev_gd.setReviewR(movie_rev_r);
                revData.add(rev_gd);


            }


        } catch (JSONException e) {
            e.printStackTrace();
        }

在我的第一个活动中,我正在显示ListView。当我点击当前位置的列表项时,我在Activity 2

中显示了一些字段

单击列表位置时发送包数据。这是列表位置的onClick监听器

FirstActivity

reviewlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                                long id) {
            // TODO Auto-generated method stub

            Intent intent = new Intent(getActivity(), Movie_rev_fulldis_activity.class);
            intent.putExtra("mov_pos", position + "");
            startActivity(intent);

        }
    });

    return rootview;
}

这里我的位置OnClick工作正常。我正在尝试在Second Activity

中显示一些字段

第二项活动:

在这里,我传递了一些正常显示的值,当我将youtubeLink链接捆绑到第三个Activity时,问题就出现了。我得到空值,我检查了youtubeLink 价值,我从服务器获取它并在TextView解析它,但我的问题是当我将youtubeLink从第二个Activity捆绑到第三个Activity时。我得到零值。

 static String youtubeLink;



    youtubeLink=Reviews_update.revData.get(mov_pos).getYoutubeLink();


    Toast.makeText(Movie_rev_fulldis_activity.this,
            youtubeLink, Toast.LENGTH_LONG).show();



    movie_t=(TextView)findViewById(R.id.revi_fulldes_movietitle);

    rev_r=(TextView)findViewById(R.id.revi_fulldes_movierev_sitename);


    movie_d=(TextView)findViewById(R.id.revi_fulldes_moviedisc_text);

    //youtube video text static text (video)
    youtube_text=(TextView)findViewById(R.id.revi_fulldes_movieyoutube_text);



    movie_i=(ImageView)findViewById(R.id.revi_fulldes_movieImage);

    //youtube image display id and imageView
    youtube_image=(ImageView)findViewById(R.id.revi_fulldes_movieyoutubeImg);
    youtube_image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent youtube = new Intent(getApplicationContext(), PlayYouTube1st.class);
            youtube.putExtra("youtubeLink", youtubeLink);
            startActivity(youtube);
            // Toast.makeText(Movie_rev_fulldis_activity.this,
            // youtubeLink, Toast.LENGTH_LONG).show();


        }
    });


    mov_pos = Integer.parseInt((getIntent().getExtras()).getString("mov_pos"));


    movie_t.setText(Reviews_update.revData.get(mov_pos).getNewsT());


    rev_r.setText(Reviews_update.revData.get(mov_pos).getReviewR());


    movie_d.setText(Reviews_update.revData.get(mov_pos).getNewsD());
    Picasso.with(getApplicationContext()).load((Reviews_update.revData.get(mov_pos)).getNewsI()).into(target);




}

这是我的ThirdActivity:

private YouTubePlayerView youTubeView;
String youLink;


Intent intent =getIntent();
    youLink=intent.getStringExtra("youtubeLink");
    youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
    Toast.makeText(PlayYouTube1st.this,
            youLink, Toast.LENGTH_LONG).show();

过去2天我一直坚持这个错误,所以有人可以帮助我找到为什么youtubeLink在传递给第3个活动时显示空值?谢谢!

1 个答案:

答案 0 :(得分:1)

放在线下

mov_pos = Integer.parseInt((getIntent().getExtras()).getString("mov_pos"));

上面

youtubeLink=Reviews_update.revData.get(mov_pos).getYoutubeLink();