簡體   English   中英

如何在Android中動態顯示圖像

[英]How to dynamically display images in Android

我是Android新手,想在循環中顯示圖片。 我可以在循環外成功顯示它,但不能在循環內顯示它。 除了content.append(nn2 [2] +“ \\ n”),我想將這2條代碼行實現到底部代碼。希望你們理解:

ImageView i2 = (ImageView)findViewById(R.id.img2);
bitmap = BitmapFactory.decodeStream((new URL ("httpS://graph.facebook.com/497305810301446/picture?type=large")).openConnection().getInputStream());
                            i2.setImageBitmap(bitmap);
                        //layout4.addView(i2);

下面是我要顯示圖像的循環:

Url=new URL( "http://xx.xx.xx.xx/abc/users/get_fb.json?term="+searchValue);
                    urlConnection = (HttpURLConnection) Url.openConnection();
                    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                    StrictMode.setThreadPolicy(policy);

                    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
                    //     InputStream in = urlConnection.getInputStream();
                    Log.d("hello","world");
                    //InputStreamReader isw = new InputStreamReader();
                    SetServerString = bufferedReader.readLine();
                    Log.d("hello",SetServerString);

                    String[] nn=SetServerString.split("name");
                    String nn2[];
                    String nn3,nn4;

                    //  JSONObject obj = new JSONObject(SetServerString);
                    content.setText("");

                    for(int a=0;a<nn.length;a++){

                            // nn2=nn[a].split(",");
                            //  nn3=nn2[0].replaceAll("\":\"", "");
                            nn4 = nn[a].replaceAll("[id\\:\\}\\{\\[\\]\"]", "");

                            nn2 = nn4.split(",");
                            // nn3=nn2[1].replaceAll("[\\:\\}\\{\\[\\]\"]","");
                            //  content.append(nn2.length+" \n ");
                           int p=1;
                            for (int i = 0; i < nn2.length && nn2.length > 1; i++) {
                                if(p==1) {
                                content.append(nn2[0] + "\n");
                                if (nn2.length > 2) {

                                    content.append(nn2[2] + "\n");
                                } else {
                                    content.append(nn2[1] + "\n");
                                }
                                p = 0;
                            }
                            }

使用Picasso庫。 它非常容易處理顯示,下載和緩存圖像。

使用畢加索,您只需鍵入:

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

這就是加載單個圖像的全部。

如果要加載許多圖像,最好使用ListView並創建特定的適配器。 之后,您可以在適配器內使用Picasso。

您可以使用任何畢加索或通用圖像加載器

添加通用圖像加載器jar(Google和下載)

並使用方法

/**Load initially other pics**/
public void loadPic(String url)
{

    com.nostra13.universalimageloader.core.ImageLoader imageLoader = com.nostra13.universalimageloader.core.ImageLoader.getInstance();
    imageLoader.displayImage(url, imageview, null, new ImageLoadingListener() {
        @Override
        public void onLoadingStarted(String imageUri, View view) {

        }

        @Override
        public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
            imageview.setImageResource(R.drawable.errorimg);
        }

        @Override
        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
            imageview.setImageBitmap(loadedImage);
        }

        @Override
        public void onLoadingCancelled(String imageUri, View view) {
            imageview.setImageResource(R.drawable.defaultimg);
        }
    }, new ImageLoadingProgressListener() {
        @Override
        public void onProgressUpdate(String imageUri, View view, int current, int total) {

        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM