You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pocketcommunityclient/app/src/main/java/com/community/pocket/data/adapter/GarbageSortingAdpter.java

61 lines
1.7 KiB

package com.community.pocket.data.adapter;
import android.content.Context;
import android.widget.ArrayAdapter;
import com.community.pocket.data.model.GarbageSorting;
import com.community.pocket.util.LocaleType;
import com.community.pocket.util.SPUtil;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 垃圾分类数据适配器
*/
public class GarbageSortingAdpter extends ArrayAdapter<String> {
private List<String> list = new ArrayList<>();
private Map<String, GarbageSorting> map = new HashMap<>();
public GarbageSortingAdpter(List<GarbageSorting> dataList, Context context) {
super(context, android.R.layout.simple_list_item_1);
addAll(dataList);
}
public void addAll(List<GarbageSorting> dataList) {
this.list.clear();
this.map.clear();
for (GarbageSorting garbageSorting : dataList) {
String name;
if (SPUtil.getInstance(getContext()).getSelectLanguage() == LocaleType.en.getType()) {
name = garbageSorting.getEnglishName();
if (name == null) {
name = garbageSorting.getName() + "(no english name)";
}
} else {
name = garbageSorting.getName();
}
this.map.put(name, garbageSorting);
this.list.add(name);
}
clear();
addAll(this.list);
}
public GarbageSorting get(String name) {
return this.map.get(name);
}
public boolean containsKey(String name) {
return this.list.contains(name);
}
public List<String> getList() {
return list;
}
}