آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تعریف OnClickListener برای GridView

bustanchi  12 سال پیش  12 سال پیش
0 0

سلام

من توی یه برنامه برای صفحه اول برنامه  که منوی اصلی برنامه هست از یه 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

0 0
مشکلم حل شد. مرسی (12 سال پیش)
0 0
خواهش می کنم (12 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .