PDA

View Full Version : @suppress چیست؟



a.ameri
پنج شنبه 06 تیر 1392, 09:34 صبح
سلام
وقتی من از Toast استفاده می کنم
یک علامت مثلث زرد رنگ کنار خط کد نشان داده میشود که یک گزینه داره به اسم

Add @suppresslint 'showtoast'
داره بعد از انتخاب

@SuppressLint("ShowToast")
این خط به برنامه اضافه می شود و مشکل حل می شود
این SuppressLint چی کار میکنه؟

hamyd_reza
پنج شنبه 06 تیر 1392, 10:27 صبح
----------

a.ameri
پنج شنبه 06 تیر 1392, 10:40 صبح
ممنون از راهنمایی
من Toast به این شکل مینویسم


Toast.makeText(this, "Salam", 1).show();




ممنون میشم اگر بگید
@suppress چی کار میکنه؟

hamyd_reza
پنج شنبه 06 تیر 1392, 11:09 صبح
----------

a.ameri
پنج شنبه 06 تیر 1392, 11:19 صبح
بله Toast درست کار میکند ولی هنوز @suppress رو نمیدونم چی کار میکنه ؟ از دوستان دیگرم ممنون میشیم که کمک کنن

zzyaser
پنج شنبه 06 تیر 1392, 11:32 صبح
suppress

این هشدار به دلیل ضعف در کد نویسی شماست یعنی قراردادن مقدار 1 به جای Toast.LENGTH_SHORT
درحقیقت این یه annotatio(یادآوری) هست.
وقتی این یادآوری شامل کلاس یا متدی بشه اون کلاس یا متد واسه خطایابی تست نمیشه

a.ameri
پنج شنبه 06 تیر 1392, 11:35 صبح
مرسی این خط که به برنامه اضافه میشه چی میگه ؟ @SuppressLint("ShowToast")

rubiks.kde
پنج شنبه 06 تیر 1392, 11:43 صبح
سلام

اخطار @suppress رو lint داره به شما میده.lint هم یک ابزاری که در پروژه های آندروید میاد کد شما رو اسکن میکنه و هرجا ببینه چیزی از قلم افتاده به شما اخطار میده تا از bug های احتمالی جلوگیری کنه برای مثال یه متغییر تعریف میکنید و ازش استفاده نمیکنید مطمئنن کامپایلر در زمان کامپایل این اخطار رو میده که این متغییر بی استفاده هست.ولی lint قبل از کامپایل میاد این رو تشخیص میده و به شما پیشنهاد رفع اون رو میده که یکی از پیشنهادهاش اینه که اونو پاک کن یا @suppress به اول اون کلاس اضافه میکنه تا به کامپایلر بفهمونه که این متغییر بی استفاده هست و کاری بهش نداشته باش.

شما توی پروژت میتونی lint رو بکلی غیرفعال کنی تا از این اخطارا نده.

a.ameri
پنج شنبه 06 تیر 1392, 11:49 صبح
مرسی توضیح خوبی بود متوجه شدم فقط میشه بگید lint از کجا باید غیر فعال کنم

rubiks.kde
پنج شنبه 06 تیر 1392, 13:02 عصر
روی پروژه راست کلید کن
Properties --> Android Lint Preferences

بعد هر کدوم رو که نمیخواهی بهت گیر بده رو غیر فعال کن

106219