我正在使用arraylist字符串的图片网址。在图像点击我想要将所选图像URL发送到另一个activity.i成功发送第二个活动中的arraylist字符串网址。但现在我的观点是我如何显示接收路径中的图像。请参阅下面的代码..谢谢提前。
当我将图片网址发送到第二个活动时,我的第一个活动:
iv_openimage = (ImageView) findViewById(R.id.iv_openimage);
iv_openimage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(VarientDetails.this,ImageSwitcher.class);
intent.putExtra("imageurls", imageurls);
Log.d("CMH", "images url = " + imageurls);
startActivity(intent);
}
});
这是我的第二个活动,我可以收到图片网址。我想从收到的网址显示我的图片。
public class ImageSwitcher extends Activity {
ImageView iv_getimage;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.imageswitcher);
iv_getimage = (ImageView) findViewById(R.id.imageView1);
ArrayList<String> resultArray = getIntent().getStringArrayListExtra("imageurls");
Log.d("CMH imgswtchr", "images url = " + resultArray);
}
}
我收到了图片网址..现在我只想让它从收到的网址上显示我的图片。
这是我的第二个活动的xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="142dp"
android:layout_marginTop="247dp"
/>
</RelativeLayout>
答案 0 :(得分:3)
我建议您使用由Square开发的Picasso for Android。
这很简单。
public class ImageSwitcher extends Activity {
ImageView iv_getimage;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.imageswitcher);
iv_getimage = (ImageView) findViewById(R.id.imageView1);
ArrayList<String> resultArray = getIntent().getStringArrayListExtra("imageurls");
Log.d("CMH imgswtchr", "images url = " + resultArray);
Picasso.with(getBaseContext()).load(resultArray.get(0)).into(iv_getimage);
}
}
您只需下载 .jar 文件并将其添加到项目内的 libs 文件夹中
对评论的请求进行更新:
希望它有所帮助! :)
答案 1 :(得分:2)
对于下载图像,请使用Async HTTP Client。
我有一个建议尝试使用AsyncHttpclient从服务器获取响应,不需要这个长代码。
http://loopj.com/android-async-http/
AsyncHttpClient client = new AsyncHttpClient();
String[] allowedContentTypes = new String[] {
"image/png", "image/jpeg", "image/jpg" };
client.get(GlobalVars.VendorData
.getVendorLogo(),
new BinaryHttpResponseHandler(
allowedContentTypes) {
@Override
public void onSuccess(
byte[] fileData) {
// Do something with the file
System.out
.println("Image Loaded.. "
+ fileData);
Bitmap bmp = BitmapFactory
.decodeByteArray(
fileData, 0,
fileData.length);
vendor_icon.setImageBitmap(bmp);
}
@Override
protected void handleFailureMessage(
Throwable arg0, String arg1) {
// TODO Auto-generated method
// stub
super.handleFailureMessage(
arg0, arg1);
System.out
.println("Image Loaded.. "
+ arg1);
}
});
您还需要包含jar文件。