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.
60 lines
1.4 KiB
60 lines
1.4 KiB
package ru.defend.defdevteam.tstu;
|
|
|
|
import android.os.Build;
|
|
import android.util.Log;
|
|
import android.view.View;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* Created by itsmy on 13.02.2017.
|
|
*/
|
|
|
|
public class NewsItemList {
|
|
private HashMap<Integer, NewsItemGroup> hashMap;
|
|
|
|
NewsItemList() {
|
|
hashMap = new HashMap<>();
|
|
}
|
|
|
|
public NewsItemGroup[] toArray() {
|
|
int counter = 0;
|
|
NewsItemGroup[] array = new NewsItemGroup[size()];
|
|
for (Map.Entry<Integer, NewsItemGroup> entry: hashMap.entrySet()) {
|
|
array[counter] = entry.getValue();
|
|
counter++;
|
|
}
|
|
return array;
|
|
}
|
|
|
|
public int size() {
|
|
return hashMap.size();
|
|
}
|
|
|
|
public void add(NewsItemGroup group) {
|
|
int viewId = getViewId();
|
|
group.setViewID(viewId);
|
|
this.hashMap.put(viewId, group);
|
|
}
|
|
|
|
public int getViewId() {
|
|
int viewId;
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
|
viewId = View.generateViewId();
|
|
Log.i("Generated view id", Integer.toString(viewId));
|
|
} else {
|
|
viewId = -1;
|
|
}
|
|
return viewId;
|
|
}
|
|
|
|
public void clear() {
|
|
this.hashMap.clear();
|
|
}
|
|
|
|
public NewsItemGroup getGroupByViewId(int viewId) {
|
|
return this.hashMap.get(viewId);
|
|
}
|
|
}
|
|
|