0

問題が発生していますconnection.connect();

android.os.NetworkOnMainThreadException in android

このエラーが発生しています このイメージアダプターに asychtask を設定する方法 私はイメージビューでその URL 画像を表示できません

public class ImageAdapter extends BaseAdapter {
    private Context context;
    public static final String[] videos={

    "http://img.youtube.com/vi/QshNtQsiL7Y/1.jpg","http://img.youtube.com/vi/5_-tL63516w/1.jpg",
                "http://img.youtube.com/vi/CDEg9npvBa0/1.jpg"};
    private ImageView imageview;
        public ImageAdapter(Context c) {
            // TODO Auto-generated constructor stub
            context=c;
        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return videos.length;
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return videos[position];
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            ImageView imageview = new ImageView(context);
            imageview.setImageBitmap(getBitmapFromURL(videos[position]));
            return imageview;
        }
        public static Bitmap getBitmapFromURL(String src) {  
            try {
                URL url = new URL(src);
                HttpURLConnection connection = (HttpURLConnection) url
                        .openConnection();
                connection.setDoInput(true);
                connection.connect();
                InputStream input = connection.getInputStream();
                Bitmap mybitmap = BitmapFactory.decodeStream(input);
                return mybitmap;

            } catch (Exception ex) {

                ex.printStackTrace();
                return null;
            }


        }
4

1 に答える 1

0

この例外は、アプリケーションが HoneyComb 以降のメイン スレッドでネットワーク操作を実行しようとするとスローされます...したがって、リスト ビューで画像の非同期読み込みを実行するには、遅延読み込みの概念を使用できます....そのためのライブラリがたくさんあります...いくつかのリンクを見つけてください....

https://github.com/nostra13/Android-Universal-Image-Loader

ListView での画像の遅延ロード

それが役に立てば幸い

于 2013-02-16T08:23:56.297 に答える