Bazı yeni veriler istendiğinde, önceki en son verilere ait verileri güncellemek için, Geriye Doğru Gösterge Bağdaştırıcısı, en son/taze istenen verileri ekranda göstermek ve öncekileri silmek istediğim için verileri günceller. veri. Aşağıda adaptör kodu, gerekirse diğer kod gösterilebilir.Geridönüş verileri önceki verilere göre güncelleniyor
private LayoutInflater inflater;
Context context;
List<Data> dataArray, dataArray1, dataArray2;
public RecyclerViewAdapter(Context context, List<Data> dataArray) {
swap(dataArray1);
this.dataArray1 = dataArray;
this.context = context;
inflater = LayoutInflater.from(context);
}
private void swap(List<Data> dataArray1){
if (this.dataArray1 != null) {
this.dataArray.clear();
System.out.println(dataArray1);
}
notifyDataSetChanged();
}
@Override
public RecyclerViewAdapter.CustomViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview, null);
CustomViewHolder holder = new CustomViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(CustomViewHolder holder, int position) {
Data current = dataArray1.get(position);
//holder.image.setImageResource(current.Limage);
holder.textView1.setText(current.heading);
holder.textView2.setText(current.date);
}
@Override
public int getItemCount() {
return dataArray1.size();
}
public static class CustomViewHolder extends RecyclerView.ViewHolder {
//ImageView image;
TextView textView1, textView2;
public CustomViewHolder(View itemView) {
super(itemView);
// image = (ImageView)itemView.findViewById(R.id.Limage);
textView1 = (TextView) itemView.findViewById(R.id.heading);
textView2 = (TextView) itemView.findViewById(R.id.date);
}
}
}
Aktivite kodudur:
public RecyclerViewAdapter recyclerViewAdapter;
Toolbar toolbar;
public RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_news);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
String url = "*****";
new JSONAsync(getApplicationContext()).execute(url);
recyclerView = (RecyclerView)findViewById(R.id.recyclerView);
recyclerViewAdapter = new RecyclerViewAdapter(MainNews.this, JSONAsync.dataArray);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(recyclerViewAdapter);
recyclerView.setItemAnimator(new DefaultItemAnimator());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
return super.onOptionsItemSelected(item);
}
}
bir Yardım takdir yüksek olacaktır.
Geri dönüştürücüde verileri güncelleştirmek için kurucu kullanmayın. –