ورود

View Full Version : سال در مورد دکمه ها



mmvalinezhad
یک شنبه 15 تیر 1393, 18:13 عصر
با سلام
خدمت دوستان عزیز
من در برنامه ام از یک دکمه استفاده مردم به صورت زیر:
.
.
.
.

Button btnnext = (Button) findViewById(R.id.btnnext);
btnnext.setOnClickListener(this);
.
.
.
@Override
public void onClick(View V) {
hadcount++;
changeHadis();
}
.
.
.






اکنون می خواهم یک دکمه ی دیگر در برنامه استفاده کنم.پس از معرفی دکمه ی بعدی چگونه باید متد on click را برایش بنویسم.

mmd2009
دوشنبه 16 تیر 1393, 01:11 صبح
با سلام

بهتره اینطوری کدنویس بکنی :


myButtonOne = (Button) findViewById(R.id.btn1_Button);
myButtonOne.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO:

}
});


myButtonTwo= (Button) findViewById(R.id.btn2_Button);
myButtonTwo.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO:

}
});

// and ...


موفق باشی

akbar8298
سه شنبه 17 تیر 1393, 18:47 عصر
MMD2009 راه حل شما درسته ولی

بعتر همون راه اولی که خودشون نوشتند. با این تفاوت که باید کد OnCLick رو به این صورت تغییر بدند.

@Override
public void onClick(View V) {
switch(v.getId()){
case R.id.btnnext:
hadcount++;
changeHadis();
break;
case R.id.btn2;

break;
case R.id.btn3;

break;
}
}

akbar8298
سه شنبه 17 تیر 1393, 18:52 عصر
یه راه دیگه هم هست. توی Layout برای هر شی یک خصیصه داریم بنام Onclick. مقدار این خصیصه رو اسم یک تابع بده. وقتی روش کلیک می کنی همون تابع اجرا میشه. مثلا خصیصه onClick یه باتن رو دادی Show


public void show(View v){

}

Nevercom
سه شنبه 17 تیر 1393, 19:28 عصر
یه راه دیگه هم هست. توی Layout برای هر شی یک خصیصه داریم بنام Onclick. مقدار این خصیصه رو اسم یک تابع بده. وقتی روش کلیک می کنی همون تابع اجرا میشه. مثلا خصیصه onClick یه باتن رو دادی Show


public void show(View v){

}



پیشنهاد می کنم هیچوقت از این روش استفاده نکنید. علاوه بر اینکه به شخصه باور دارم که منطق برنامه باید کاملاً از View جدا باشه و هر عامل کنترلی باید در خود فایل java انجام بشه، بر اساس تجربه میگم که وقتی پروژه بزرگ میشه همین چیزهای کوچک میتونن دردسرهای بزرگی براتون ایجاد کنن.
همیشه کدها رو طوری بنویسید که مشخصاً بفهمید هر کد یا متد چه کاری انجام میده و البته با این ذهنیت کد رو بنویسید که شخص دیگری قراره کد شما رو توسعه بده و باید بتونه راحت درکش کنه

akbar8298
سه شنبه 17 تیر 1393, 20:53 عصر
پیشنهاد می کنم هیچوقت از این روش استفاده نکنید. علاوه بر اینکه به شخصه باور دارم که منطق برنامه باید کاملاً از View جدا باشه و هر عامل کنترلی باید در خود فایل java انجام بشه، بر اساس تجربه میگم که وقتی پروژه بزرگ میشه همین چیزهای کوچک میتونن دردسرهای بزرگی براتون ایجاد کنن.
همیشه کدها رو طوری بنویسید که مشخصاً بفهمید هر کد یا متد چه کاری انجام میده و البته با این ذهنیت کد رو بنویسید که شخص دیگری قراره کد شما رو توسعه بده و باید بتونه راحت درکش کنه

بله شما درست می فرمائید. من هم موافق نیستم. در کل گفتم چنین چیزی هم میشه :)