گرفتن اسم منابع تعریف شده برای یک ایمیج ویو
سلام دوستان
چطور میشه برای img1 که قبلا setbackround شده
بیاییم و مقدار داخلش رو در بیاریم که اسم اون منبعی که براش تعریف شده چی هست؟
فکر کنم باید این باشه اما از من یک recid میخواد که نمیدونم باید چی وارد کنم !!
String value = img1.getResources().getResourceName();
ببینید قبلا من
img1.setBackgroundResource(R.drawable.cross);
تعرف کردم و حالا فقط cross رو میخوام
من فقط موراد زیر رو پیدا کردم که متاسفانه جواب نمیده !
String value = getResources().getResourceTypeName(R.id.img1);
سلام میتونی در کلاس G تعریف کنی و در تمام برنامه استفاده کنی در هر کلاسی که میخواهی می توانی استفاده کنی
دوستان من برای بازی TIC_TAC_TOE
سعی کردم از دو روش الگوریتمی برای تشخیص برنده بازی بنویسم که متاسفانه هیچ کدوم جواب نداد!!
نمیدونم ایراد از کجا هست !؟
روش اول این هست که برای ایمیج ویو ها مقداری رو تعریف میکنم
img1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (player) {
img1.setBackgroundResource(R.drawable.cross);
img1 = 1;
} else {
img1.setBackgroundResource(R.drawable.circle);
img1 = 2;
}
player = !player;
}
});
//---------------------
img2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (player) {
img2.setBackgroundResource(R.drawable.cross);
img2 = 1;
} else {
img2.setBackgroundResource(R.drawable.circle);
img2 = 2;
}
player = !player;
}
});
//---------------------
img3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (player) {
img3.setBackgroundResource(R.drawable.cross);
img3 = 1;
} else {
img3.setBackgroundResource(R.drawable.circle);
img3 = 2;
}
player = !player;
}
});
و بعد از اون حال های مختلف رو چک میکنم
if (img1 == 1 & img2 == 1 & img3 == 1){
Toast.makeText(ActivityPlay.this, "player 1 Win", Toast.LENGTH_LONG).show();}
و روش دوم هم فقط مقادیر رو چک میکنم
if (img1.getBackground().equals(R.drawable.cross) & img2.getBackground().equals(R.drawable.cross) & img3.getBackground().equals(R.drawable.cross)) {
Toast.makeText(ActivityPlay.this, "player 1 Win", Toast.LENGTH_LONG).show();
}
یه مشکلی وجو داشت توی این بازی که اگر دوبار روی یک ایمیج ویو کلیک میشد تغییر شکل میداد که من نیاز داشتم رسورس درون ایمیج رو بخونم که نتونستم کدش رو پیدا کنم مجبور شم از یک متغییر بولین استفاده کنم که با هر بار کلید شدن روی ایمیج ویوو به صورت زیر عمل میکنه
همچنین دستور چک کردن نوبت بازیکن رو توی این دستور بردم تا با دوباره کلیک شدم روی ایمیل ویو نوبت بازی تغییر نکنه
img1.setOnClickListener(new OnClickListener() {
boolean image1 = true;
@Override
public void onClick(View arg0) {
if (image1) {
if (player) {
img1.setBackgroundResource(R.drawable.cross);
a1 = 1;
} else {
img1.setBackgroundResource(R.drawable.circle);
a1 = 2;
}
player = !player;
}
image1 = false;
ChekWin();
}
});
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .