I have set a gridview for image url..I can't able to see the image in grid.. Just shows the background...and on click the grid plays in next screen.
What im doing wrong? How to implement this?
Thanks a lot in advance
my code
public class act extends Activity { static String uri1="https://i3.ytimg.com/vi/bQaWsVQSLdY/default.jpg"; static String uri2="https://i4.ytimg.com/vi/cJQCniWQdno/mqdefault.jpg"; static String uri3="https://i1.ytimg.com/vi/D8dA4pE5hEY/mqdefault.jpg"; public static String[] urls={uri1,uri2,uri3}; public Bitmap bitmap; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); GridView grd=(GridView)findViewById(R.id.gridView1); grd.setAdapter(new ImageAdapter(this)); grd.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent,View v,int pos,long id) { Toast.makeText(getBaseContext(),"pic"+(pos+1)+"select ",Toast.LENGTH_SHORT).show(); } }); } public class ImageAdapter extends BaseAdapter { private Context context; private int itemBackground; ImageAdapter(Context c) { context=c; TypedArray a=obtainStyledAttributes(R.styleable.Gallery1); itemBackground=a.getResourceId(R.styleable.Gallery1_android_galleryItemBackground,0); a.recycle(); } public int getCount() { return urls.length; } public Object getItem(int pos) { return pos; } public long getItemId(int pos) { return pos; } public View getView(int pos,View cv,ViewGroup vg) { Bitmap bitmap= DownloadImage( urls[pos] ); ImageView imageview=new ImageView(context); imageview.setImageBitmap(bitmap); return cv; } private Bitmap DownloadImage(String URL) { final String URL1=URL; new Thread() { public void run() { InputStream in = null; Message msg = Message.obtain(); msg.what = 1; try { in = OpenHttpConnection(URL1); Bitmap bitmap = BitmapFactory.decodeStream(in); Bundle b = new Bundle(); b.putParcelable("bitmap", bitmap); msg.setData(b); in.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }.start(); return bitmap; } private InputStream OpenHttpConnection(String urlString) throws IOException { InputStream in = null; int response = -1; URL url = new URL(urlString); URLConnection conn = url.openConnection(); if (!(conn instanceof HttpURLConnection)) throw new IOException("Not an HTTP connection"); try{ HttpURLConnection httpConn = (HttpURLConnection) conn; httpConn.setAllowUserInteraction(false); httpConn.setInstanceFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.connect(); response = httpConn.getResponseCode(); if (response == HttpURLConnection.HTTP_OK) { in = httpConn.getInputStream(); } } catch (Exception ex) { throw new IOException("Error connecting"); } return in; } } }
logcat
E/AndroidRuntime(832): java.lang.NullPointerException E/AndroidRuntime(832): at android.widget.GridView.onMeasure(GridView.java:937) E/AndroidRuntime(832): at android.view.View.measure(View.java:8313) E/AndroidRuntime(832): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) E/AndroidRuntime(832): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017) E/AndroidRuntime(832): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386) E/AndroidRuntime(832): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) E/AndroidRuntime(832): at android.view.View.measure(View.java:8313) E/AndroidRuntime(832): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) E/AndroidRuntime(832): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) E/AndroidRuntime(832): at android.view.View.measure(View.java:8313) E/AndroidRuntime(832): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531) E/AndroidRuntime(832): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) E/AndroidRuntime(832): at android.view.View.measure(View.java:8313) E/AndroidRuntime(832): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) E/AndroidRuntime(832): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) E/AndroidRuntime(832): at android.view.View.measure(View.java:8313) E/AndroidRuntime(832): at android.view.ViewRoot.performTraversals(ViewRoot.java:839) E/AndroidRuntime(832): at android.view.ViewRoot.handleMessage(ViewRoot.java:1859) E/AndroidRuntime(832): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(832): at android.os.Looper.loop(Looper.java:123) E/AndroidRuntime(832): at android.app.ActivityThread.main(ActivityThread.java:3683) E/AndroidRuntime(832): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(832): at java.lang.reflect.Method.invoke(Method.java:507) E/AndroidRuntime(832): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) E/AndroidRuntime(832): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) E/AndroidRuntime(832): at dalvik.system.NativeStart.main(Native Method)