我共有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个活动时显示空值?谢谢!
答案 0 :(得分:1)
放在线下
mov_pos = Integer.parseInt((getIntent().getExtras()).getString("mov_pos"));
上面
youtubeLink=Reviews_update.revData.get(mov_pos).getYoutubeLink();