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.
61 lines
1.7 KiB
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;
|
|
}
|
|
}
|
|
|