2
세 방법Recyclerview 데이터 세트 업데이트 적절한 방법
notifydatasetchanged()
swapadapter()
List<>
를 업데이트와 같은 어댑터 할당 제가 시도 recyclerview의 데이터를 갱신한다.
하지만 (앱) 각 방법 메모리 할당에 데이터를 갱신 할 때를 해결하는 방법 (0.50-0.25) MB의 범위로 증가유지?
내 어댑터
public class RVAdapter extends RecyclerView.Adapter<RVAdapter.PersonViewHolder> {
public static int Sub;
public static class PersonViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView personName;
ImageView personPhoto;
PersonViewHolder(View itemView) {
super(itemView);
itemView.setOnClickListener(this);
personName = (TextView)itemView.findViewById(R.id.person_name);
personPhoto = (ImageView)itemView.findViewById(R.id.person_photo);
}
@Override
public void onClick(View view) {
Sub = getLayoutPosition();
Toast.makeText(view.getContext(), "position = " + getLayoutPosition(), Toast.LENGTH_SHORT).show();
}}
List<Person> persons;
RVAdapter(List<Person> persons){
this.persons = persons;
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
@Override
public PersonViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.raw, viewGroup, false);
PersonViewHolder pvh = new PersonViewHolder(v);
return pvh;
}
@Override
public void onBindViewHolder(PersonViewHolder personViewHolder, int i) {
personViewHolder.personName.setText(persons.get(i).name);
personViewHolder.personPhoto.setImageResource(persons.get(i).photoId);
}
@Override
public int getItemCount() {
return persons.size();
}
public void swap(List<Person>persons){
persons.clear();
persons.add(new Person("htfg", R.mipmap.ic_launcher));//0
persons.add(new Person("fhe", R.mipmap.ic_launcher));//0
notifyDataSetChanged();
} }
RecyclerView 어댑터를 게시하십시오. – mariozawa
나는 그것을 추가했다. – Arjun