第一次進入的時候是沒有資料的,添加第一條資料之后
myAdapter.notifyItemInserted(list.size()-1);--這里改成0也不行
此時界面并沒有重繪顯示資料,退出應用時保存已經添加的資料
再次進入,串列界面是顯示有一條資料的,再次添加第二條后都可以正常重繪顯示資料
為什么添加第一條就不正常顯示
uj5u.com熱心網友回復:
看看你的adapter的資料源,是這個list還是初始化賦值時候另外一個物件uj5u.com熱心網友回復:
親測正常展示,你再看看你的其他邏輯,肯定是哪里錯了
RecyclerView rv = findViewById(R.id.rv);
ArrayList<String> list = new ArrayList<>();
rv.setLayoutManager(new LinearLayoutManager(this));
RecyclerView.Adapter adapter = new RecyclerView.Adapter() {
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
TextView tv = new TextView(getApplicationContext());
return new RecyclerView.ViewHolder(tv) {
};
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
TextView tv = (TextView) holder.itemView;
tv.setText(list.get(position));
}
@Override
public int getItemCount() {
return list.size();
}
};
rv.setAdapter(adapter);
Handler handler = new Handler();//3秒加一個
Runnable r = new Runnable() {
@Override
public void run() {
list.add("hhhhhhhhhhhhhhhhhhhhhhh");
System.out.println(111111);
adapter.notifyItemInserted(list.size() - 1);
if (list.size() < 3) {
handler.postDelayed(this, 3000);
} else {
adapter.notifyDataSetChanged();
}
}
};
handler.postDelayed(r, 3000);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/33739.html
標籤:Android
上一篇:Android studio 自帶模擬器無法ping通主機地址
下一篇:swift函式求助
