بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل با آداپتر RecyclerView
سلام، من کدهای RecyclerView رو نوشتم و برنامه بدون هیچ کرشی اجرا میشه ولی یه مشکلی هست که وقتی من یک متنی رو در شی ( مثل StructNote ) ذخیر میکنم و میرم توی اکتیویتی بعدی برای نمایشش ، همه اشیاء رو نشون نمیده ، بلکه اون شیئ که تازه ساختم رو نشون میده!
توجه بفرمائید ؛
ActivityHistory.java
public class ActivityHistory extends AppCompatActivity {
private RecyclerView recyclerview;
private List mUserData;
private RVAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_history);
recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
LinearLayoutManager layoutManager = new LinearLayoutManager(G.mContext);
recyclerview.setLayoutManager(layoutManager);
mUsersData = new ArrayList<>();
OpenHelper rb = new OpenHelper(G.mContext);
List datas = rb.getAllUsers();
for (User r : datas) {
mUserData.add(new User(r.getUser()));
}
adapter = new RVAdapter(mUserData);
recyclerview.setAdapter(adapter);
}
}
RVAdapter.java
public class RVAdapter extends RecyclerView.Adapter {
private List mUser;
public RVAdapter(List Users) {
this.mUser = Users;
}
@Override
public void onBindViewHolder(ItemViewHolder itemViewHolder, int i) {
final User model = mUser.get(i);
itemViewHolder.bind(model);
}
@Override
public ItemViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recycle_row, viewGroup, false);
return new ItemViewHolder(view);
}
@Override
public int getItemCount() {
return mUser.size();
}
}
ItemViewHolder
public class ItemViewHolder extends RecyclerView.ViewHolder {
public TextView name_TextView;
public ItemViewHolder(View itemView) {
super(itemView);
itemView.setClickable(true);
name_TextView = (TextView) itemView.findViewById(R.id.txt_title);
}
public void bind(User data) {
name_TextView.setText(data.getUser());
}
}
User.java
public class User {
private static int id;
private static String user;
public User(int ID, String User) {
id = ID;
user = User;
}
public User(String User) {
user = User;
}
public User() {
}
public static int getId() {
return id;
}
public static void setId(int id) {
User.id = id;
}
public static String getUser() {
return user;
}
public static void setUser(String user) {
User.user = user;
}
}
این هم متد getAllUsers کلاس دیتابیس
public List getAllUsers() {
List usersList = new ArrayList<>();
// Select all Query
String selectQuery = "SELECT * FROM " + DATABASE_TABLE;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
// Looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
User u = new User();
u.setId(Integer.parseInt(cursor.getString(0)));
u.setUser(cursor.getString(1));
// Adding Reminders to list
usersList.add(u);
} while (cursor.moveToNext());
}
return usersList;
}
حالا مشکل کجاست؟ بنظر شما؟ لطفا راهنمائی کنید!

0
0
ایراد از کلاس User هست، نمیدونم چرا اون متدها و فیلد ها رو static کردید. (10 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .