hosseinaryai
سه شنبه 09 تیر 1394, 09:19 صبح
با درود
دوستان کل سوال توی این جملست : آیا ورودی یک متد ، می تونه متد دیگه ای باشه ؟
مثال می زنم :
فرض می کنیم من توی کلاس جدایی (HSH) یه مدت بصورت استاتیک تعریف کردم تا کارم توی کد نویسی هام راحت تر بشه ، بصورت زیر :
public static void dial(Context c,String title,String t1,String t2){
AlertDialog.Builder al = new AlertDialog.Builder(c);
al.setTitle(title);
al.setPositiveButton(t1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
al.setNegativeButton(t2, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
al.show();
}
خب تا اینجاش مشکلی نیست ،می تونم اینو توی یه کلاس دیگه فراخونی کنم ، اما مشکل از جایی شروع میشه میشه که مثلن آلرت دیالوگ دوتا دکمه داره که هر کدوم باید یه کاری انجام بدن و من کارهای این دو تا دکمه رو می خوام بصورت متد به عنوان ورودی (مثلن همون title و ..) به متد نسبت بدم ..
می دونم می تونم توی همون کلاس دوم ، دوتا متد سراسری تعریف کنم و اینجا معرفیش کنم ، اما می خوام این کلاس HSH من جامع باشه و توی هر برنامه ی دیگه ای ازش استفاده کنم
این تا اینجا ..
یکم گشتم دیدم متد ورودی کلاسو قبول می کنه ، مثلن در ادامه ی ورودی های این کلاس بنویسم Class myclss ، همه چیز درست پیش میره ..
و می تونم توی رویداد هر دکمه ای بصورت زیر بنویسم :
myclass.getMethod("onPOSITIV",void.class);
و
myclass.getMethod("onNEGATIV",void.class);
بعد حالا توی هر کلاسی که می خوام اینو فراخوانی کنم ، دوتا متد با نام هایی که بالا تعریف کردم بنویسم و توش کد بذارم ..
اما هیچ اتفاقی در رویداد کلیک دکمه نمی افته .. اصلن راهو دارم درست میرم ؟ می تونم به این روش به رویداد کلیک متد معرفی کنم ؟
ای بابا ، این چرا کدا رو این شکلی می کنه :متفکر:
دوستان کل سوال توی این جملست : آیا ورودی یک متد ، می تونه متد دیگه ای باشه ؟
مثال می زنم :
فرض می کنیم من توی کلاس جدایی (HSH) یه مدت بصورت استاتیک تعریف کردم تا کارم توی کد نویسی هام راحت تر بشه ، بصورت زیر :
public static void dial(Context c,String title,String t1,String t2){
AlertDialog.Builder al = new AlertDialog.Builder(c);
al.setTitle(title);
al.setPositiveButton(t1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
al.setNegativeButton(t2, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
al.show();
}
خب تا اینجاش مشکلی نیست ،می تونم اینو توی یه کلاس دیگه فراخونی کنم ، اما مشکل از جایی شروع میشه میشه که مثلن آلرت دیالوگ دوتا دکمه داره که هر کدوم باید یه کاری انجام بدن و من کارهای این دو تا دکمه رو می خوام بصورت متد به عنوان ورودی (مثلن همون title و ..) به متد نسبت بدم ..
می دونم می تونم توی همون کلاس دوم ، دوتا متد سراسری تعریف کنم و اینجا معرفیش کنم ، اما می خوام این کلاس HSH من جامع باشه و توی هر برنامه ی دیگه ای ازش استفاده کنم
این تا اینجا ..
یکم گشتم دیدم متد ورودی کلاسو قبول می کنه ، مثلن در ادامه ی ورودی های این کلاس بنویسم Class myclss ، همه چیز درست پیش میره ..
و می تونم توی رویداد هر دکمه ای بصورت زیر بنویسم :
myclass.getMethod("onPOSITIV",void.class);
و
myclass.getMethod("onNEGATIV",void.class);
بعد حالا توی هر کلاسی که می خوام اینو فراخوانی کنم ، دوتا متد با نام هایی که بالا تعریف کردم بنویسم و توش کد بذارم ..
اما هیچ اتفاقی در رویداد کلیک دکمه نمی افته .. اصلن راهو دارم درست میرم ؟ می تونم به این روش به رویداد کلیک متد معرفی کنم ؟
ای بابا ، این چرا کدا رو این شکلی می کنه :متفکر: