بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

تبدیل کردن به String(حل شد)

مدیریت گفتگو
amin2525 12 سال پیش
آخرین تغییر: 12 سال پیش

من میخوام یک مقدار از EditText  بگیرم و اون رو به String تبدیل کنم و سپس به [ ]Char تبدیلش کنم از چنین کدی دارم استفاده میکنم

         String mo = edt1.getText().toString();
        final char[] moArrays = mo.toCharArray();

ولی این کد کار نمیکنه ....میدونم که مشکلم از String هست
چون وقتی به جای این String از 

          String mo = "123";
        final char[] moArrays = mo.toCharArray();

استفاده میکنم پروژه کار میکنه
باید چیکار کنم؟

نظرات

احمد اسدی 12 سال پیش
مقداری رو که از EditTextBox میگیرین خودش از نوع String هستش و میتونین مستقیمآ به یه متغییر String بریزید. و نیازی به toString نیست.
amin2525 12 سال پیش
وقتی مقدار EditText رو میخوام مستقیم بریزم تو String ارور میده و میگه که String باید تبدیل بشه به Editable

پاسخ‌ها 5

احمد اسدی 12 سال پیش

به این شکل عکل کنید:

 Editable newTxt =(Editable)userName1.getText(); 
String newString = newTxt.toString();

یعنی اول شما مقدارش رو بریزید داخل newTxt بعد با toString کردنش برزید به NewString .

نظرات

amin2525 12 سال پیش

ممنون دوست عزیز بهتر شد ولی یه سوالی که الان برای من پیش اومده اینه که
من این کد رو دارم

         Editable newTxt = (Editable) edt1.getText();
        String newString = newTxt.toString();
        final char[] moArrays = newString.toCharArray();
        for (int i = 0; i < moArrays.length; i++) {
            System.out.println(moArrays[i]);
        }

میخوام هر متنی رو که داخل EditBox چاپ میشه به صورت جدا گانه برای من چاپ کنه
مثلا اگر متن من abc هست به صورت جداگانه a , b , c رو برای من چاپ کنه
ولی با این کد اصلا چنین کاری رو انجام نمیده در حالی که اگر تو همین کد من به جای  String 

         String mo = "123";

رو قرار بدم برنامه به خوبی کار میکنه.
چیکار باید انجام بدم؟

نظرات

Criss 12 سال پیش
کدی که استفاده کردید بنظر درست میاد یک لاگ بگیرید و خروجی هارو چک کنید < شاید متوجه مشکل بشید
amin2525 12 سال پیش
یک لاگ هم گرفتم ولی اصلا نمیتونه چنین عددی رو بگیره یه جای این String ایراد داره
amin2525 12 سال پیش
بچه ها کسی میتونه کمکم کنه؟
ajn91 12 سال پیش
دقیقا متنی که داخل EditText مینویسید رو اینجا قرار بدید تا تست بشه
amin2525 12 سال پیش
هر متنی رو داخل EditBox مینویسم برای مثال 1234 و یا abcd
ajn91 12 سال پیش
یک نکته شما این کد رو کجا قرار میدید؟
ajn91 12 سال پیش

این کد بدون هیچ مشکلی با هر ورودی برای من کار میکنه شاید مشکل از جای دیگه باشه

String string = edt.getText().toString();
char[] moArray = string.toCharArray();
for (int i = 0; i < moArray.length; i++) {
    Log.i("LOG", moArray[i] + "");
}

و یا این کد

 String string = edt.getText().toString();
 char[] moArray = string.toCharArray();
 for (char ch: moArray) {
     Log.i("LOG", ch + "");
 }

نظرات

amin2525 12 سال پیش
درست....ولی الان اگر من بخوام این حرو رو بریزم داخل چند تا TexrView میگه هیچ مقداری وجود نداره الان کدش رو پایین میذارم ببینید
amin2525 12 سال پیش

در اینجا من میخوام که بعد از اینکه دکمه زده بشه
حرف اول به من نشون داده بشه ولی چنین کاری انجام نمیشه
و میره تو catch

     String string = edt1.getText().toString();
        final char[] moArrays = string.toCharArray();
        for (int i = 0; i < moArrays.length; i++) {
            Log.i("LOG", moArrays[i] + "");
        }
btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { try { txt1.setText("" + moArrays[0]); } catch (Exception e) { txt1.setText("Nope"); } } });

نظرات

amin2525 12 سال پیش
دوستان کسی میدونه مشکل از کجاست؟
amin2525 12 سال پیش
دوستان یکی کمک کنه خیلی به این کد نیاز دارم
ajn91 12 سال پیش

کدتونو به این صورت تغییر بدید

        btn1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                String string = edt1.getText().toString();
                char[] moArrays = string.toCharArray();
                try {
                    txt1.setText("" + moArrays[0]);
                }
                catch (Exception e)
                {
                    txt1.setText("Nope");
                }
            }
        });

نظرات

amin2525 12 سال پیش
مرسی دوست عزیز خیلی ممنون واقعا ممنون مشکلم حل شد

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