چگونه با انجام کلیک جدید در یک سلول جدول، تغییراتی که با کلیک قبلی بر سلولی دیگر اعمال شده را از بین ...
به نام خدا
سلام؛ خسته نباشید.
در برنامهای جدولی طراحی شده که دارای چندین سلول است. برنامهنویس قصد دارد که اگر کاربر بر روی یک سلول کلیک کرد، مثلا رنگ زمینه آن سلول تغییر کند و اگر کلیک بعدی روی سلول دیگری بود سلول کیک شده قبلی به حالت اولیه خود برگردد. چگونه میتوان این کار را انجام داد؟
(جدول مورد نظر از طریق XML طراحی نشده بلکه درون کلاس و با استفاده از حلقه ایجاد شده.)
اگر کسی بتواند راهنمایی کند ممنون میشوم.
یه textview از نوع static توی اون کلاسی که لیست ویو ت توش هست بساز
public static TextView lastTextView;
بعد برو تو کدهای آداپترت و بگو اگه اون textview استاتیک، null نبود، رنگش رو به رنگ ظبیعی برگردون :
if(MyClass.lastTextView!= null){
// تغییر رنگ به حالت طبیعی
}
و توی همون آداپترت بعد از خطوط بالا جایی که میخوای آداپتر جدید رو رنگ کنی، اون textview رو بریز توی همون مقدار استاتیک
// بعد از تغییر رنگ textView فعلی
MyClass.lastTextView = currentTextView;
برای اینکه دوستان دیگه هم از این راهنمایی استفاده کنند کدش رو قرار میدم:
public static TextView lastTextView; // توی کلاسی که تکستویوی پیشفرض ما در اون قرار داره تعریف میشه
if (lastTextView != null) {
lastTextView.setBackgroundResource(R.drawable.defoult_background);
currentTextView.setBackgroundResource(R.drawable.new_background);
lastTextView = currentTextView;
} else {
currentTextView.setBackgroundResource(R.drawable.new_background);
lastTextView = currentTextView;
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .