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

چگونه با انجام کلیک جدید در یک سلول جدول، تغییراتی که با کلیک قبلی بر سلولی دیگر اعمال شده را از بین ...

علی  12 سال پیش  12 سال پیش
+1 0

به نام خدا

سلام؛ خسته نباشید.

در برنامه‌ای جدولی طراحی شده که دارای چندین سلول است.  برنامه‌نویس قصد دارد که اگر کاربر بر روی یک سلول کلیک کرد، مثلا رنگ زمینه آن سلول تغییر کند و اگر کلیک بعدی روی سلول دیگری بود سلول کیک شده قبلی به حالت اولیه خود برگردد. چگونه می‌توان این کار را انجام داد؟

(جدول مورد نظر از طریق XML طراحی نشده بلکه درون کلاس و با استفاده از حلقه ایجاد شده.)

اگر کسی بتواند راهنمایی کند ممنون می‌شوم.

0 0
مشخصه هر سلول کلیک شده رو تو یه فیلد داشته باش. با کلیک بعدی سلول قبلی رو اصلاح کن - مشخصه سلول جدید رو ثبت کن و سلول جدید رو اصلاح کن (12 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
علی  12 سال پیش
+1 0

ممنون از دوستان مشکلم حل شد!

0 0
داخل هر سلول یه تکست ویو هست؟ (12 سال پیش)
0 0
بله. توی هر سلول یه تکست ویو هستش. یعنی سلول‌ها در اصل همون تکست ویوها هستن. (12 سال پیش)
0 0
پس یه تکست ویو نداری! به تعداد سلولهات تکست داری - راه حل هم میشه همون قبلی - اگه مشخصه نداری خود تکست کلیک شده رو به عنوان آخرین مقدار نگهدار (12 سال پیش)
0 0
متاسفانه من نمی‌دونم چطوری می‌تونم تکست ویوی کلیک شده رو از بقیه متمایز کنم. وقتی که می‌خوام تکست ویوی کلیک شده رو به عنوان آخرین مقدار ذخیره کنم انگار همه تکست ویوها اون مقدار رو می‌گیرن. (12 سال پیش)
0 0
تکه کد درج کنی بهتره (12 سال پیش)
پاسخ به سوال 
sadeghbarout  12 سال پیش
+2 0

یه textview از نوع static توی اون کلاسی که لیست ویو ت توش هست بساز

 public static TextView lastTextView;

بعد برو تو کدهای آداپترت و بگو اگه اون textview استاتیک، null نبود، رنگش رو به رنگ ظبیعی برگردون :

 if(MyClass.lastTextView!= null){
// تغییر رنگ به حالت طبیعی
}

و توی همون آداپترت بعد از خطوط بالا جایی که میخوای آداپتر جدید رو رنگ کنی، اون textview رو بریز توی همون مقدار استاتیک

 // بعد از تغییر رنگ textView فعلی
MyClass.lastTextView = currentTextView;
0 0
ممنون از راهنمایی‌تون با این روش مشکلم حل شد. شاید منظور اون یکی دوستمون هم همینی بود که شما گفتید. اما به هر حال بیان شما رو بهتر متوجه شدم. (12 سال پیش)
0 0
بله همین بود. زحمتش افتاد گردن صادق (12 سال پیش)
پاسخ به سوال 
علی  12 سال پیش
+1 0

برای این‌که دوستان دیگه هم از این راهنمایی استفاده کنند کدش رو قرار می‌دم:

 

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;
}

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