package com.kdt; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import java.util.Collections; import java.util.List; /** * Basic adapter, expect it uses the what is passed by the code, no the resources * @param */ public class SimpleArrayAdapter extends BaseAdapter { private List mObjects; public SimpleArrayAdapter(List objects) { setObjects(objects); } public void setObjects(@Nullable List objects) { if(objects == null){ if(mObjects != Collections.emptyList()) { mObjects = Collections.emptyList(); notifyDataSetChanged(); } } else { if(objects != mObjects){ mObjects = objects; notifyDataSetChanged(); } } } @Override public int getCount() { return mObjects.size(); } @Override public T getItem(int position) { return mObjects.get(position); } @Override public long getItemId(int position) { return position; } @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { if(convertView == null){ convertView = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false); } TextView v = (TextView) convertView; v.setText(mObjects.get(position).toString()); return v; } }