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

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

کاربر سایت

sia916

عضویت از 1392/11/13

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

  • سه شنبه 8 اسفند 1396
  • 22:20
تشکر میکنم

اگر در هر ردیف 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);
         }

پاسخ های این پرسش

تعداد پاسخ ها : 9 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 9 اسفند 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);
}

کاربر سایت

sia916

عضویت از 1392/11/13

  • چهارشنبه 9 اسفند 1396
  • 11:36

استاد ممنونم

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

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 9 اسفند 1396
  • 11:49

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

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

لینک نمونه

کاربر سایت

sia916

عضویت از 1392/11/13

  • چهارشنبه 9 اسفند 1396
  • 15:04

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

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 9 اسفند 1396
  • 17:29

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

کاربر سایت

sia916

عضویت از 1392/11/13

  • چهارشنبه 9 اسفند 1396
  • 19:15

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

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

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

تحریم هستیم

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

کاربر سایت

sia916

عضویت از 1392/11/13

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

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

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

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

سرچ کنید 

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

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)