Path: blob/v3_openjdk/app_pojavlauncher/src/main/java/com/kdt/SimpleArrayAdapter.java
2129 views
package com.kdt;12import android.content.Context;3import android.view.LayoutInflater;4import android.view.View;5import android.view.ViewGroup;6import android.widget.ArrayAdapter;7import android.widget.BaseAdapter;8import android.widget.TextView;910import androidx.annotation.NonNull;11import androidx.annotation.Nullable;1213import java.util.Collections;14import java.util.List;1516/**17* Basic adapter, expect it uses the what is passed by the code, no the resources18* @param <T>19*/20public class SimpleArrayAdapter<T> extends BaseAdapter {21private List<T> mObjects;22public SimpleArrayAdapter(List<T> objects) {23setObjects(objects);24}2526public void setObjects(@Nullable List<T> objects) {27if(objects == null){28if(mObjects != Collections.emptyList()) {29mObjects = Collections.emptyList();30notifyDataSetChanged();31}32} else {33if(objects != mObjects){34mObjects = objects;35notifyDataSetChanged();36}37}38}3940@Override41public int getCount() {42return mObjects.size();43}4445@Override46public T getItem(int position) {47return mObjects.get(position);48}4950@Override51public long getItemId(int position) {52return position;53}5455@NonNull56@Override57public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {58if(convertView == null){59convertView = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false);60}6162TextView v = (TextView) convertView;63v.setText(mObjects.get(position).toString());64return v;65}66}676869