আজকের পর্বেআমরা GridView ক্লাস এর সেটআপও এর অন্যান্য বিষয় সম্পর্কে আলোচনা করব।এখানে আমরা যা করব তা হচ্ছে GridView এরগঠন অনুযায়ী বিভিন্ন ইমেজকে GridView এর প্রত্যেকটি আলাদা আলাদা ব্লক এ সেট করব।এইজন্য MainActivity তে xml এর দেয়া আইডিকে initialize করে দেয়ার পর অন্যান্য কাজগুলোও সম্পন্ন করতে হবে। যেমন ইমেজগুলোকে এখানে আমরা MainActivity তে সেটআপ করতে পারবনা কারন ইতোমধ্যে main.xml এ আমরা Gridview সেটআপ করে ফেলেছি। তাই ইমেজগুলোর জন্য আরেকটা জাভা ক্লাস ফাইল লাগবে যেখানে আমরা ইমেজ গুলোকে সেটআপ করতে পারব।তাই নতুন একটা জাভা ক্লাস নেয় ImageAdapter নামে। এবং Gridview কে ImageAdapter এর সাথে Adapt করে দেয়।
package com.coderart.gridviewandroid; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.ListAdapter; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView gv = (GridView) findViewById(R.id.gridView1); gv.setAdapter(new ImageAdapter()); gv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Intent i= new Intent(MainActivity.this, SingleImage.class); startActivity(i); } }); } }
তারপর এখানে GridView এর প্রত্যেকটি আইটেমকে Listener দ্বারা সেটআপ করে দিতে হবে। এই জন্য এখানে ব্যবহার করতে হবে OnItemClickListener কে। তারপর ক্লিক করলে GridView থেকে SingleImage ক্লাস এ নিয়ে যাওয়ার জন্য intent কেও সেট করে দেয়।
এখানে যখন gv.setAdapter(new ImageAdapter()); দ্বারা সেট করে দেয়া হবে তখন এরর দেখাবে। এই জন্য ImageAdapter ক্লাসকে extends করে দিতে হবে BaseAdapter দ্বারা। কেন BaseAdapter কে extends করতে হবে কারন Image গুলোকে লিস্ট আকারে প্রদর্শন করব, আর এই BaseAdapter implement করতে পারে ListAdapter কে। তারপর এরর দেখালে প্রয়োজনীয় Unimplemented মেথড দ্বারা ক্লাস ফাইল সেট করে দেয়।
package com.coderart.gridviewandroid; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListAdapter; public class ImageAdapter extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return 0; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @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 return null; } }
এই ছিল আজকের GridView ক্লাস এর ব্যবহার-২ সম্পর্কে আলোচনা ।
আমি নাঈম হায়দার ঋদ্ধি। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 76 টি টিউন ও 44 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 6 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
Computer ও Programming পছন্দ, আমার youtube channel https://www.youtube.com/channel/UCYKbAf2kXLgKav30hd3zDPQ . আমার ফেসবুক প্রোফাইল https://www.facebook.com/nayeem.riddhi