بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در مدریت و ذخیره متن editText های درون ریسایکلر ویو
سلام بر دوستان خوب uncox
بنده درون یک فرگمنت یک recyclerView دارم که داخل این ریسایکلر ویو چندین editText وجود داره(بیشتر از 10 تا.بسته به نیاز کاربر شاید 100 تا...)
بنده با حلقه for تونستم متن داخل editText هارو درون دیتابیس insert کنم با کد های زیر
for (int i = 0; i <= listRecyclerItem.size() - 1; i++) {
String where = listRecyclerItem.get(i).getType();
if (where.equals("e")) {
View view = desRec.getChildAt(i);
EditText nameEditText = view.findViewById(R.id.desEditText);
editTextContent = nameEditText.getText().toString();
} else
editTextContent = "";
String type, viValue;
type = listRecyclerItem.get(i).getType();
viValue = listRecyclerItem.get(i).getVivalue();
db.insertNoteDes(insertItem(type, viValue, editTextContent, db.getLastIdMainNote()));
}
شاید خیلی متوجه کد های بالا نشده باشید.ولی بدون مشکل کار میکنن.مشکل دقیقا از جایی شروع میشه که تعداد editText های داخل ریسایکلرویو بیشتر از 13 تا میشن.اینجاست که ادیت تکست اولی غیب میشه و جاش ادیت تکست اخری insert میشه.
یه چیزی هم بگم.قبلا کد زیر رو گزاشتم برای اینکه متن های editText ها با اسکرول شدن ریسایکلر ویو ریست نشه.
desRec.setItemViewCacheSize(100);
اینم از ارور.لطفا راهنماییم کنید.
Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
0
0
از desRec بیا و getChildCount کن و با سایز listRecyclerItem.size() مقایسه کن ببین برابره ؟ بهترخ = رو از حلقه for برداری و همچنین تون -1 رو (4 سال پیش)
0
0
مهندس مشکل موقعی بیش میاد که تعداد ادیت تکست ها زیاد میشه و مجبور میشم ریسایکلر رو اسکرول کنم.البته متن های داخل ادیت تکست ها از بین نمیره ولی مشکل هرچی که هست مربوط به اسکرول شدن ریسایکلر ویو (4 سال پیش)
0
0
خیر این دو موردی که گفتید برابر نیستند.هرچی تو صفحه میشه دید رو تابع getChildCount برمیگردونه بقیه که با اسکرول رفتن بایین و نیستن رو حساب نمیکنه (4 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .