use of greendroid.widget.item.Item in project GreenDroid by cyrilmottier.
the class ItemAdapter method getView.
public View getView(int position, View convertView, ViewGroup parent) {
final Item item = (Item) getItem(position);
ItemView cell = (ItemView) convertView;
if (cell == null) {
cell = item.newView(mContext, null);
cell.prepareItemView();
}
cell.setObject(item);
return (View) cell;
}
use of greendroid.widget.item.Item in project GreenDroid by cyrilmottier.
the class ItemAdapter method createFromXml.
/**
* Creates an ItemAdapter from a given XML document. Called on a parser
* positioned at a tag in an XML document, tries to create an ItemAdapter
* from that tag.
*
* @param context The Context in which the ItemAdapter will be used in
* @param parser The XmlPullParser
* @return a new ItemAdapter constructed with the content of the file
* pointed by <em>xmlId</em>
* @throws XmlPullParserException
* @throws IOException
*/
public static ItemAdapter createFromXml(Context context, XmlPullParser parser) throws XmlPullParserException, IOException {
AttributeSet attrs = Xml.asAttributeSet(parser);
int type;
while ((type = parser.next()) != XmlPullParser.START_TAG && type != XmlPullParser.END_DOCUMENT) {
// Empty loop
}
if (type != XmlPullParser.START_TAG) {
throw new XmlPullParserException("No start tag found");
}
if (!parser.getName().equals("item-array")) {
throw new XmlPullParserException("Unknown start tag. Should be 'item-array'");
}
final List<Item> items = new ArrayList<Item>();
final int innerDepth = parser.getDepth() + 1;
final Resources r = context.getResources();
int depth;
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT && ((depth = parser.getDepth()) >= innerDepth || type != XmlPullParser.END_TAG)) {
if (type != XmlPullParser.START_TAG) {
continue;
}
if (depth > innerDepth) {
continue;
}
String name = parser.getName();
Item item;
if (name.equals("text-item")) {
item = new TextItem();
} else if (name.equals("longtext-item")) {
item = new LongTextItem();
} else if (name.equals("description-item")) {
item = new DescriptionItem();
} else if (name.equals("separator-item")) {
item = new SeparatorItem();
} else if (name.equals("progress-item")) {
item = new ProgressItem();
} else if (name.equals("drawable-item")) {
item = new DrawableItem();
} else if (name.equals("subtitle-item")) {
item = new SubtitleItem();
} else if (name.equals("subtext-item")) {
item = new SubtextItem();
} else if (name.equals("thumbnail-item")) {
item = new ThumbnailItem();
} else {
// ItemAdapter and creates our own items via XML?
throw new XmlPullParserException(parser.getPositionDescription() + ": invalid item tag " + name);
}
if (item != null) {
item.inflate(r, parser, attrs);
items.add(item);
}
}
return new ItemAdapter(context, items);
}
use of greendroid.widget.item.Item in project GreenDroid by cyrilmottier.
the class BasicItemActivity method onCreate.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<Item> items = new ArrayList<Item>();
items.add(new SeparatorItem("Class 1"));
items.add(new ThumbnailItem("Powered paragliding", "aka paramotoring", R.drawable.class1));
items.add(new DescriptionItem("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempus consequat leo, et tincidunt justo tristique in."));
items.add(new SeparatorItem("Class 2"));
items.add(new DrawableItem("Trikes", R.drawable.class2));
items.add(new DescriptionItem("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempus consequat leo, et tincidunt justo tristique in."));
items.add(new SeparatorItem("Class 3"));
items.add(new ThumbnailItem("Multi-axis", "Looks like a tiny plane", R.drawable.class3));
items.add(new DescriptionItem("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempus consequat leo, et tincidunt justo tristique in."));
items.add(new SeparatorItem("Class 4"));
items.add(new ThumbnailItem("Auto-gyro", "A scary helicopter", R.drawable.class4));
items.add(new DescriptionItem("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempus consequat leo, et tincidunt justo tristique in."));
items.add(new SeparatorItem("Class 5"));
items.add(new DrawableItem("Hot air baloon", R.drawable.class5));
items.add(new DescriptionItem("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempus consequat leo, et tincidunt justo tristique in."));
final Item item1 = new SeparatorItem("Class 6");
final Item item2 = new TextItem("Airbus/Boeing planes");
final Item item3 = new DescriptionItem("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempus consequat leo, et tincidunt justo tristique in.");
items.add(item1);
items.add(item2);
items.add(item3);
final ProgressItem progressItem = new ProgressItem("Removing intruders", true);
items.add(progressItem);
final ItemAdapter adapter = new ItemAdapter(this, items);
setListAdapter(adapter);
mHandler.postDelayed(new Runnable() {
public void run() {
adapter.remove(item1);
adapter.remove(item2);
adapter.remove(item3);
adapter.remove(progressItem);
adapter.insert(new ThumbnailItem("Ultralight aviation", "List of French 'ULM' classes", R.drawable.ic_gdcatalog), 0);
adapter.notifyDataSetChanged();
}
}, 8000);
}
Aggregations