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

ماشین حساب ساده(حل شد)

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

سلام

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

اونم اینه که من دو تا Editbox دارم که داخل هر کدام یه مقدار جداگانه قرار میگیره

میخوام کدی بنویسم که وقتی هر Editbox ای انتخاب شده ، کیبوردی که خودم ساختم روی اون Edit box نوشته بیاره.

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

+1 0
(با عرض پوزش) اصولا چرا از EditBox استفاده کرده اید؟ TextView برای تصوری که من از ماشین حساب دارم بهتره. این طور نیست؟ (11 سال پیش)
0 0
نه دوست عزیز... ببینید من یک ماشین حساب دارم که در دو تا Edit box نیاز داره که دو تا عدد وارد بشه ،میخوام جوری باشه که هر گاه هر Editbox ای انتخاب میشه کیبوردی که خودم ساختم داخل اون Editbox انتخاب شده بنویسه (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
b.fat  11 سال پیش
+1 0

یک راهش اینه که:

یک فیلد داشته باشید که در هر لحظه EditText فعال را در آن نگهداری کنید. مثلا این جوری:

private static EditText activeBox = null;

می توانید در ابتدای onCreate بعد از تعریف کنترل ها، مقدار این فیلد را هم مشخص کنید. مثلا:

 EditText et1 = (EditText) findViewById(R.id.editText1);
EditText et2 = (EditText) findViewById(R.id.editText2);
activeBox = et1;

و برای هر کدام از EditTextهایتان رویداد setOnTouchListener را بنویسید؛ به نحوی که با لمس هر کدام، مقدار همان EditText در فیلد ما ذخیره شود. مثلا این جوری:

        et1.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
activeBox = (EditText) arg0;
return false;
}
});

حالا در رویداد کلیک روی کیبورد، بگویید روی همان فیلد هر تغییری که لازم است انجام شود.

0 0
ممنون دوست عزیز، خیلی کمکم کرد، فقط یه نکته اونم این که، الان شما فیلد رو برابر null گرفتید، پس حتما باید کلیک بشه رو یه Editbox ای در اون مرحله ی اول،چجوری میشه یه حالت پیش فرض بهش داد که اگر رو چیزی کلیک نشد رو Editbox مورد نظر چاپ کنه؟ (11 سال پیش)
+1 0
شما درست می گویید. اگر برابر null نباشد بهتر است. شما به جای null یکی از جعبه متن هایتان را به عنوان مقدار اولیه تعیین کنید. همون کد قبلی را اصلاح می کنم. (11 سال پیش)
+1 0
ببخشید، الآن یادم افتاد که مقدار اولیه در زمان تعریفش نمی شود داد. چیزی که بالا نوشته ام قاعدتا باید کار کند. (11 سال پیش)
+1 0
ممنون دوست عزیز، کاملا درست است. (11 سال پیش)

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