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

کار کردن Button برای یک بار کلیک

sajad98  11 سال پیش  11 سال پیش
0 0

سلام!

من میخوام کاری کنم که یه Button فقط یک بار کار کنه و بعد تحت شرایطی دوباره به حالت اولش برگرده.

پروژه همون تبدیل واحده. میخوام وقتی واحد وارد شد و تبدیل شد دیگه Button کار نکنه و بعد اینکه دوباره FocuseChange شد دوباره کار کنه.

هر کاری کردم نتونستم این کار رو انجام بدم. یعنی counter گذاشتم که تعداد کلیک رو میشمرد. تا یه جایی درست کار میکرد اما بعد غیر فعال شدنش دیگه فعال نمیشد.

ممنون میشم کمک کنید/.

 

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Criss  11 سال پیش
+1 0

شما باید یک متغیر فیلد تعریف کنید و مقدار اون رو true بزارید <

با هر بار فشرده شدن کلید شما < چک میشه که اگر مقدار متغیر true باشه دستورات شما اجرا میشه و در پایان دستورات شما (یا در همان ابتدای کار) مقدار متغیر false میشه < در این صورت دکمه شما دوباره هیچ وقت کار نمیکنه مگر اینکه از جایی دیگه مقدار اون متغییر رو true کنید <

private boolean work_btn = true;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button btn = (Button) FindViewById(R.id.btn);

btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

if (work_btn) {
work_btn = false;
echo "کار کردن دکمه فقط برای یک بار"
}
}
});

 

 

پاسخ به سوال 
Hajhosseini  11 سال پیش
+2 0

نیازی به تعریف متغیر نیست. زمانی که button کلیک میشه این کد رو اجرا کنید:

 btn.setClickable(false);

زمانی هم که میخواید به حالت اول برش گردونید :

  btn.setClickable(true);

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