如何在图像视图中显示图像路径
How to show image path in image view
亲爱的
我正在制作一个首先有两个 Activity 的电影应用程序 activity 有 gridview
显示电影海报网格,只要您点击任何海报,它就会带您
到另一个 activity,它应该显示您点击的电影的海报
和详细文字。
我的问题是什么?
当第二个 activity 开始时,会显示电影详细信息,但海报是
不显示,如何使用这样的图像路径显示图像
"6bCplVkhowCjTHXWv49UjRPn0eK.jpg"?相关代码下方:
第一个Activity:
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String movieDetailText = "ID:" + movieId[i] + " \n" + "Title:\n" + movieTitle[i] + "\n"
+ "Over View:\n" + movieOverview[i] + "\n" + "Release Date:\n" +
movieReleaseDate[i] + "\n" + "Rating:\n" + movieVoteAverage[i];
String movieDetailImage = moviePosterPath[i];
Intent intent = new Intent(getActivity(),DetailActivity.class);
intent.putExtra(Intent.EXTRA_TEXT,movieDetailText);
intent.putExtra("image_path", movieDetailImage);
startActivity(intent);
}
});
第二个Activity:
Intent intent = getActivity().getIntent();
if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) {
String movieDetail = intent.getStringExtra(Intent.EXTRA_TEXT);
((TextView) rootView.findViewById(R.id.detail_text))
.setText(movieDetail);
String posterImage = intent.getStringExtra("image_path");
Bitmap bitmap = BitmapFactory.decodeFile(posterImage);
((ImageView) rootView.findViewById(R.id.detail_image))
.setImageBitmap(bitmap);
您可以使用图书馆 Universal Image Loader。您只需要 URL 和第二个 activity:
中的 ImageView 参考
// Load image, decode it to Bitmap and return Bitmap to callback
imageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
// Do whatever you want with Bitmap
}
});
在您的 gradle 中添加库:
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
查看如何使用库 here。
我需要添加以下内容来解决我的问题:
String imagePath = intent.getStringExtra("image_path");
String posterImage = "http://image.tmdb.org/t/p/w185/" + imagePath;
亲爱的
我正在制作一个首先有两个 Activity 的电影应用程序 activity 有 gridview
显示电影海报网格,只要您点击任何海报,它就会带您
到另一个 activity,它应该显示您点击的电影的海报
和详细文字。
我的问题是什么?
当第二个 activity 开始时,会显示电影详细信息,但海报是
不显示,如何使用这样的图像路径显示图像
"6bCplVkhowCjTHXWv49UjRPn0eK.jpg"?相关代码下方:
第一个Activity:
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String movieDetailText = "ID:" + movieId[i] + " \n" + "Title:\n" + movieTitle[i] + "\n"
+ "Over View:\n" + movieOverview[i] + "\n" + "Release Date:\n" +
movieReleaseDate[i] + "\n" + "Rating:\n" + movieVoteAverage[i];
String movieDetailImage = moviePosterPath[i];
Intent intent = new Intent(getActivity(),DetailActivity.class);
intent.putExtra(Intent.EXTRA_TEXT,movieDetailText);
intent.putExtra("image_path", movieDetailImage);
startActivity(intent);
}
});
第二个Activity:
Intent intent = getActivity().getIntent();
if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) {
String movieDetail = intent.getStringExtra(Intent.EXTRA_TEXT);
((TextView) rootView.findViewById(R.id.detail_text))
.setText(movieDetail);
String posterImage = intent.getStringExtra("image_path");
Bitmap bitmap = BitmapFactory.decodeFile(posterImage);
((ImageView) rootView.findViewById(R.id.detail_image))
.setImageBitmap(bitmap);
您可以使用图书馆 Universal Image Loader。您只需要 URL 和第二个 activity:
中的 ImageView 参考// Load image, decode it to Bitmap and return Bitmap to callback
imageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
// Do whatever you want with Bitmap
}
});
在您的 gradle 中添加库:
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
查看如何使用库 here。
我需要添加以下内容来解决我的问题:
String imagePath = intent.getStringExtra("image_path");
String posterImage = "http://image.tmdb.org/t/p/w185/" + imagePath;