مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

کلیک کردن Image Button در هر ردیف list view

ﺳﻪ شنبه, 08 اسفند 1396 22:20

کلیک کردن Image Button در هر ردیف list view

اگر در هر ردیف list view یک image button داشته باشیم و بخواهیم با کلیک بر روی هر کدام تصویر آن ردیف فقط عوض شود چیکار باید بکنیم . الان در کدی که نوشته ام تصویر آن ردیف تغییر میکند ولی تصویر ردیفهای صفحه بعد هم تغییر میکند

public override View GetView(int position, View convertView, ViewGroup parent)
        {
           
            var view = convertView;
               if (view == null)
            {
                view = _context.LayoutInflater.Inflate(Resource.Layout.ListItemFoodlayout, parent, false);
            }

           

         
            view.FindViewById<TextView>(Resource.Id.lblName).Text = _foodList[position].food_title;
            view.FindViewById<TextView>(Resource.Id.lblPrice).Text = _foodList[position].food_price.ToString("###,###") + " تومان";

            _imgBasket = view.FindViewById<ImageButton>(Resource.Id.imgBasket);
            _imgBasket.Click += _imgBasket_Click;

            return view;
        }

       
        private void _imgBasket_Click(object sender, EventArgs e)
        {
           
            _imgBasket.SetBackgroundResource(Resource.Drawable.iconshoppingcardgreen);
         }

چهارشنبه, 09 اسفند 1396 09:09

مثال زیر رو بررسی کنید

public override View GetView(int position, View convertView, ViewGroup parent)
{
    //inflate or restore convertView
    if(this.myItems[position].selected == true)
    {
        convertView.SetBackgroundColor(Color.Green);
    }
    convertView.Click -= ChangeBackgroundColor;
    convertView.Click += ChangeBackgroundColor;
    // This is to avoid adding more than one EventHandler every time the View is shown in the ListView.
}

private void ChangeBackgroundColor(object sender, EventArgs e)
{
    int position = this.recyclerView.GetChildAdapterPosition((View)sender);
    this.myItems[position].selected = true;
    ((View)sender).SetBackgroundColor(Color.Green);
}

چهارشنبه, 09 اسفند 1396 11:36

استاد ممنونم

ولی myItems از چه نوعیه و کجا پر میشه؟

چهارشنبه, 09 اسفند 1396 11:49

برای اینکار بهتره از نمونه موجود در لینک زیر استفاده کنید

کنترلرش ساده تر است

لینک نمونه

چهارشنبه, 09 اسفند 1396 15:04

استاد پس از نصب support.v7 در حین اجرای برنامه با 46 خطا مواجه شده ام علتش چی میتونه باشه؟

چهارشنبه, 09 اسفند 1396 17:29

باید پیکیچ های موجود در متن خطا را نیز نصب کنید

چهارشنبه, 09 اسفند 1396 19:15

از کجا میشه دانلود کرد؟تحریم هستیم اجازه دانلود داریم؟

پنج شنبه, 10 اسفند 1396 09:19

تحریم هستیم

باید با ip غیر ایرانی دانلود کنید

پنج شنبه, 10 اسفند 1396 16:03

از چه آدرسی استاد؟

پنج شنبه, 10 اسفند 1396 16:40

سرچ کنید 

من آدرس ها رو حفظ نیستم دوست من

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید