بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در ارایه ها
سلام من یه آرایه از قبل ذخیره کردم تو shared prefs اینجا میام میخونمش بعد این آرایه رو داخل ریسایکل ویو قرار میدم بعد اینجا میام برای حذف این کد ها رو مینویسم ،حذف میکنه ها ولی بعد از چند تا حذف کردن این ارور رو میگیرم
2-10 03:45:47.337 2482-2482/com.a.test.m E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.a.test.m, PID: 2482
java.lang.IndexOutOfBoundsException: Invalid index 6, size is 5
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.remove(ArrayList.java:403)
at com.a.test.m.ExampleAdapter$2.onClick(ExampleAdapter.java:87)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
holder.mimageView2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mexampleList.remove(holder.getAdapterPosition());
notifyItemRemoved(holder.getAdapterPosition());
Data = context.getSharedPreferences("KEYSHARED", 0);
SharedPreferences.Editor editor = Data.edit();
Gson gson = new Gson();
///////////////////// load gson
String json = Data.getString("KEYARRAY", "");
Type type = new TypeToken<ArrayList<String>>() {
}.getType();
marray = gson.fromJson(json, type);
/////////////////////////
marray.remove(position);
String new_json = gson.toJson(marray);
editor.putString("KEYARRAY", new_json);
editor.commit();
}
});
0
0
چطوری میتونم ریسایکل ویو رو آپدیت کنم از داخل adapter ؟ تو نت هم سرچ کردم مثلا یه کد پیدا کردم
public void updateData(ArrayList viewModels) {
items.clear();
items.addAll(viewModels);
notifyDataSetChanged();
}
ولی من ایتم هام رو بصورت داینامیک تعریف کردم داخل یه اکتیویتی دیگه نمیتونم اینجا بهش بدم که ممنون میشم اساتید کمکم بکنید (6 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .