بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

افزودن عکس در ریسایکلرویو

مدیریت گفتگو
123894 8 سال پیش
آخرین تغییر: 8 سال پیش

سلام... من یک ریسایکلر ویو تعریف کردم و ی تکست ویو داخلش قرار دادم ...ی لیست هم تعریف کردم ک جایگذاری میکنه داخل این تکست ویو .... حالا میخام برای ایمیج ویویی که تعریف کردم هم همینکار رو انجام بدم ... ولی لیستش رو چطور باید تعریف کنم بگم از drawable  بگیره ؟!

نظرات

پاسخ‌ها 1

Borhani 8 سال پیش

سلام دوست عزیز:

تمامی کنترلرها یک id دارند که میتوانید از آنها استفاده کنید:

به طور مثال :

 
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;

PlanetHolder holder = new PlanetHolder();

// First let's verify the convertView is not null
if (convertView == null) {
// This a new view we inflate the new layout
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.img_row_layout, null);
// Now we can fill the layout with the right values
TextView tv = (TextView) v.findViewById(R.id.name);
TextView distView = (TextView) v.findViewById(R.id.dist);
ImageView img = (ImageView) v.findViewById(R.id.img);

holder.planetNameView = tv;
holder.distView = distView;
holder.img = img;

v.setTag(holder);
}
else
holder = (PlanetHolder) v.getTag();

System.out.println("Position ["+position+"]");
Planet p = planetList.get(position);
holder.planetNameView.setText(p.getName());
holder.distView.setText("" + p.getDistance());

holder.img.setImageResource(p.getIdImg());

return v;
}

حالا وقتی میخواهی برروی هر آیتم کلیک کنی :lv.setOnItemClickListener. 

موقعیت اش رو اینطوری بدست میاری :

int pos = lv.getPositionForView(view);

 

و با کلیک کردن روی هر imageviwe موقعیت را بدست میاری:

Planet planet =  aAdpt.getItem(pos);

نظرات


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