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

درخواست کمک برای نمایش متنی که کاربر واردمیکنه(درEditText) توی یه TextView درهمان صفحه

حامی  11 سال پیش  11 سال پیش
0 0

سلام به همگی دوستان.توی یه صفحه xml  برنامه ام،یک EditText دارم و دوتا TextView .میخوام وقتی کاربر روی ادیت تکست کلیک کرد و سافت ویرکیبورد باز شد و یه متنی رو تایپ کرد،وقتی سافت کیبورد رو بست یا اینترزد،هرمتنی که نوشته رو بیاد توی  یکی از این تکست ویوها نمایش بده،و هربار که روی این تکست ویو کلیک شد،یه شماره به تکست ویو بعدی اضافه بشه.(یعنی یکی از تکست ویوها کانترهستش).استاد توی یکی از ویدئوهاآموزش دادن ولی اون وقتی هستش که Button توی صفحه باشه و بعد از این که روی اون دکمه کلیک شد متنش رو نمایش میده.اما من میخوام وقتیکه متنش رو تایپ کرد و کیبورد رو بست یا اینترزد متن رو توی تکست ویو نمایش بده.کسی میتونه کدش رو کمکم کنه؟

 برای این سوال 5 پاسخ وجود دارد.
پاسخ به سوال 
hoseinnrz  11 سال پیش
0 0

ببین این به کارت میاد :

         EditText.setOnKeyListener(new OnKeyListener() {

            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_ENTER) {  // در این خط چک میکنه که اینتر زده یا نه
                   // صرفا برای مثال دو خط پائین رو نوشتم

textview1.settext(EditText.Gettext.toString());
textview2.settext(Integer.valueof(textview2.getText().toString())+1 + "")


} return false; } });
0 0
سلام.چندتاارورداشت حلش کردم اما این یکی حل نشد و این ارور رو داد: Gettext cannot resolved or is not a field میدونین مال چیه؟چیکارباید کرد؟ (11 سال پیش)
0 0
یه " ( ) " بعد از getText بذاری حله. توی اون if از KEYCODE_BACK هم میتونی استفاده کنی. برای textView2 هم یه کار ساده اینه که بیرون از scope مربوط به setOnKeyListener میتونی یه counter بذاری و داخل Scope هی بهش اضافه کنی و به این شکل بدی به textView2 ا----> ;(textView2.setText("" + counter. به نظر من همین کد کارتو راه میندازه ؛) (11 سال پیش)
پاسخ به سوال 
حامی  11 سال پیش
0 0

  سلام داداش.ممنونم جواب دادی اما نشد.اون gettext  رونمیگم.اون بالایی رو میگم.الان دوتا اروردارم.ببین:

+1 0
اسم صحیح متد مد نظر : getText هست نه GetText (11 سال پیش)
0 0
سلام داداش.نه اون جورکه شما گفتی تغییر دادم اما هنوز ارورمیده و میگه: getText cannot resolved or is not a field (11 سال پیش)
+1 0
دوست عزیز شما cursor رو ببر بعد از GetText و ctrl + space رو بزن یا این که به صورت دستی به این شکل تغییر بده ( ()getText ) برای valueof هم همین کارو انجام بده یا این که به صورت دستی به این شکل تغییر بده ( ()valueOf ). خطاهای شما به خاطر رعایت نکردن حروف بزرگ و کوچک هست. (11 سال پیش)
پاسخ به سوال 
حامی  11 سال پیش
0 0

داداش وقتی بعد از GetText  میزنم: ctrl +space فقط دوتا گزینه میاد که هردوتاش getTextColors هستش.داداش شما یه لطفی بکن همون کدی که خودت مدنظرت هست رو بده بهم تا من فقط کپی پیست کنم و اینجوری شما مطمئن بشی.اون قسمت آخرش که به  تکست ویو دوم اضافه بشه هم فعلا نمیخواد.شما بیزحمت فقط کد اینکه متن رو از EditText  بخونه و با اینتر زدن یا بستن سافت کیبورد،متن رو توی تکست ویو نمایش بده رو برام بنویس.دمت گرم.من خودم اون قسمت کانترش رو بعدا مینویسم...

پاسخ به سوال 
Ali  11 سال پیش
+1 0

سلام
آقا محسن همون طور که دوستان گفتند مشکل شما از نگارشتون بود. اینم کدش:

 final EditText edt = (EditText) findViewById(R.id.edt);
final TextView txt4 = (TextView) findViewById(R.id.txt4);
final TextView txt5 = (TextView) findViewById(R.id.txt5);

edt.setOnKeyListener(new OnKeyListener() {

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {

txt4.setText(edt.getText().toString());
txt5.setText(Integer.valueOf(txt5.getText().toString() + 1 + ""));
}
return false;
}
});
0 0
علی آقا دمت گرم.وقتی این کدی که شما کامل گذاشتی رو گذاشتم هیچ اروری نداشت.البته برنامه کرش میکنه ولی مهم نیست چون تا اون قسمتی که باید بعد از اینکه اینتر زده شد،توی تکست ویو اولی نشون بده نشون میده.کرش برنامه 100 درصد بخاطر این خطه: txt5.setText(Integer.valueOf(txt5.getText().toString() + 1 + "")); اما مهم نیست.چون بجای این خط یه کانتر میزارم.قبلا گذاشتم.میتونم درستش کنم.علی آقا ممنونم.همچنین از CreativeBoyو hoseinnrz و S P ! R ! T و ezio1128 تشکر میکنم که وقت گذاشتن.ممنونم از همگی. (11 سال پیش)
پاسخ به سوال 
کاشی زاده  11 سال پیش
0 0

سلام .

یه راه برای انجام اینکار میگم فکر کنم به کارت بیاد . شما برای editText یه واچر تعریف میکنی با استفاده از این کد :

 addTextChangedListener

با فراخوانی کردنش یه سری متد هم میاد که شما با این متدش کار داری :

 @Override
			public void onTextChanged(CharSequence s, int arg1, int arg2, int arg3) {
}

خب ، حالا هر حرفی که وارد میکنه کاربر شما میتونی نمایش بدی مقدار s همون حرفی هست که کاربر وارد کرده کافی تو این قسمت براش بنویسی مقدار تکست ویو رو برابر مقدار قبلی + s بکنه . 


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