PDA

View Full Version : کدنویسی راحتر



nimar9
شنبه 21 دی 1392, 12:19 عصر
سلام خدمت اساتید گرامی :بوس:

من تو کدنویسی از تعداد زیادی باتن استفاده کردم اسماشون رو هم B1 B2 B3 ... گذاشتم.

حالا با کلیک روی هر کدوم دستوری که دادم اجرا میشه .

سوال من اینجاست که:

من کد کلیک رو باتن رو به این صورت نوشتم:

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

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "B1 Clicked", Toast.LENGTH_SHORT).show();
}
});

خوب من میخوام دیگه این همه دستور برای تک تک باتن هام ننویسم و کد جاوا رو شلوغ نکنم تا دفعه بد که تغییرات خواستم بدم راحتر بتونم و شلوغ نباشه.
مثلا میخوام با کلیک بگه که این کدوم دکمه هست. و با استفاده از دستور Switch دونه دونه به مقدار ها دستور بدم تا MainActivity م شلوغ نشه.

پیشاپیش دمتون گرم و ممنون :قلب:

rubiks.kde
شنبه 21 دی 1392, 12:58 عصر
تابع OnClickListener() رو یک تابع واحد تعریف کنید به این صورت
OnClickListener click = new OnClickListener();
حالا این تابع رو به همه button ها بدید و توی تابع Onclick از دستور Switch استفاده کنید.

مثال این مورد

@Override
public void onClick(View v) {

switch (v.getId()) {
case R.id.btn_read:
StartReading();
break;
case R.id.btn_couninew:
StartConti();
break;
case R.id.btn_content:
ShowContentTable();
break;
case R.id.btn_bookmark:
ShowBookMarks();
break;
case R.id.btn_image:
startActivity(new Intent(MainActivity.this, ImageActivity.class));
break;
}

}