رونمایی از پخته‌ترین و کاربردی‌ترین محصولات آموزشی سون‌لرن با کلی آفرهای ویژه🔥
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ محمدحسین موسی وند
دریافت ارور
جامعه جاوا (اندروید) ایجاد شده در ۲۵ تیر ۱۴۰۲

فایل هارو ارسال میکنم

لینک گیت هاب فایل‌های پروژه:

https://github.com/MOhammadHossein1258/inptutLayout

یه اروری میده ممنون میشم پاسخ بدید

محمدحسین موسی وند ۲۵ تیر ۱۴۰۲، ۱۲:۴۹

سلام،

زمانی که سورس رو میفرستید پروژه رو کامل پیوست کنید(مانند پیوست جلسه) چون پروژه باید یکبار ساخته شود و دیباگ شود.

اگر پروژه رو خط به خط دیباگ کنید میبینید در خط زیر از برنامه بیرون می‌آید:

TextInputEditText etFullName = findViewById(R.id.textInput_user);

علتش اینه برنامه در یک catch با خطای زیر گرفتار میشود:

java.lang.ClassCastException: com.google.android.material.textfield.TextInputLayout cannot be cast to com.google.android.material.textfield.TextInputEditText

شما آیدی هایی که در فایل xml دادید به TextInputLayout‌ها دادید در صورتی که باید به TextInputEditText‌ها بدید چون مقداری هم که در MainActivity میگیرید با همین تایپ است. درستش به این شکل است:

[com.google.android.material.textfield.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
    android:hint="نام و نام خانوادگی"
    app:startIconDrawable="@drawable/ic_user_24dp"
    ]
    [com.google.android.material.textfield.TextInputEditText
        // ID must be assigned in this place
        android:id="@+id/et_main_fullName"

        android:layout_width="match_parent"
        android:layout_height="wrap_content"/]
[/com.google.android.material.textfield.TextInputLayout]

ضمن اینکه کدهای جلسه در پیوست هم قرار گرفته و میتونید یک به یک مقایسه کنید.

محسن موحد ۲۶ تیر ۱۴۰۲، ۱۶:۰۹

درست شد ولی الان fullName ذخیره نمیشه

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

محمدحسین موسی وند ۲۷ تیر ۱۴۰۲، ۰۷:۵۱
editor.putString("full_name",fullName);

و

return sharedPreferences.getString("full_Name","");

full_Name رو باید بنویسید full_name

بهترین پاسخ
محسن موحد ۲۷ تیر ۱۴۰۲، ۲۲:۰۶