بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تعریف OnClickListener برای GridView
سلام
من توی یه برنامه برای صفحه اول برنامه که منوی اصلی برنامه هست از یه gridview استفاده کردم که توی هر خونه grid از یه تصویر و متن استفاده کردم .
الان نمیدونم چجوری باید برای هرکدام از grid های برنامه باید onClickListener تعریف کنم ؟
لطفا سریع راهنماییم کنید ...
public class MainActivity extends Activity {
GridView gridView;
ArrayList<Item> gridArray = new ArrayList<Item>();
CustomGridViewAdapter customGridAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
//set grid view item
Bitmap test = BitmapFactory.decodeResource(this.getResources(), R.drawable.test);
gridArray.add(new Item(test, "test text"));
gridView = (GridView) findViewById(R.id.gridView1);
customGridAdapter = new CustomGridViewAdapter(this, R.layout.row_grid, gridArray);
gridView.setAdapter(customGridAdapter);
}
}
public class Item {
Bitmap image;
String title;
public Item(Bitmap image, String title) {
super();
this.image = image;
this.title = title;
}
public Bitmap getImage() {
return image;
}
public void setImage(Bitmap image) {
this.image = image;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
public class CustomGridViewAdapter extends ArrayAdapter {
Context context;
int layoutResourceId;
ArrayList data = new ArrayList();
public CustomGridViewAdapter(Context context, int layoutResourceId, ArrayList data) {
super(context, layoutResourceId, data);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
RecordHolder holder = null;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new RecordHolder();
holder.txtTitle = (TextView) row.findViewById(R.id.item_text);
holder.imageItem = (ImageView) row.findViewById(R.id.item_image);
row.setTag(holder);
} else {
holder = (RecordHolder) row.getTag();
}
Item item = data.get(position);
holder.txtTitle.setText(item.getTitle());
holder.imageItem.setImageBitmap(item.getImage());
return row;
}
static class RecordHolder {
TextView txtTitle;
ImageView imageItem;
}
}
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
Alireza.b
12 سال پیش
+1
0
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .