এন্ড্রয়েড ডেভেলপমেন্ট [পর্ব ৪৬] :: GridView ক্লাস এর ব্যবহার-২

আজকের পর্বেআমরা 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); } }); } }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

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; } }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

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 ক্লাস এর ব্যবহার-২ সম্পর্কে আলোচনা ।

পোস্ট সম্পর্কিত সমস্যার জন্য মন্তব্য দিন।ডাউনলোড লিঙ্ক এ সমস্যা জন্য ইনবক্স করুন Aimzworld007
ConversionConversion EmoticonEmoticon

:)
:(
=(
^_^
:D
=D
=)D
|o|
@@,
;)
:-bd
:-d
:p
:ng
:lv
Thanks for your comment