package com.markupartist.iglaset.activity;
import java.util.ArrayList;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.markupartist.android.widget.ActionBar;
import com.markupartist.android.widget.ActionBar.IntentAction;
import com.markupartist.iglaset.R;
import com.markupartist.iglaset.widget.SearchAction;
public class CategoryActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.category_list);
ActionBar actionBar = (ActionBar) findViewById(R.id.actionbar);
actionBar.setHomeAction(new IntentAction(this, StartActivity.createIntent(this), R.drawable.ic_actionbar_home_default));
actionBar.setTitle(R.string.categories);
actionBar.addAction(new SearchAction() {
@Override
public void performAction(View view) {
onSearchRequested();
}
});
ArrayAdapter<Category> categoryAdapter = new ArrayAdapter<Category>(
this, R.layout.category_list_row, createCategories());
this.setListAdapter(categoryAdapter);
}
@Override
public boolean onSearchRequested() {
startSearch(null, false, null, false);
return true;
}
/** Called when the list is clicked. */
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Category category = (Category) getListAdapter().getItem(position);
Intent i = new Intent(this, TagActivity.class);
i.putExtra(TagActivity.EXTRA_CATEGORY_ID, category.getId());
i.putExtra(TagActivity.EXTRA_CATEGORY_NAME, category.getName());
startActivity(i);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
/** Create all categories */
private ArrayList<Category> createCategories() {
ArrayList<Category> categories = new ArrayList<Category>();
categories.add(new Category(1, "Sprit"));
categories.add(new Category(2, "Starkvin"));
categories.add(new Category(3, "Öl"));
categories.add(new Category(4, "Cider och blanddrycker"));
categories.add(new Category(5, "Alkoholfritt"));
categories.add(new Category(6, "Röda viner"));
categories.add(new Category(7, "Vita viner"));
categories.add(new Category(8, "Roséviner"));
categories.add(new Category(9, "Mousserande viner"));
return categories;
}
private static class Category {
private int mId;
private String mName;
public Category(int id, String name) {
this.mId = id;
this.mName = name;
}
public int getId() {
return mId;
}
public String getName() {
return mName;
}
@Override
public String toString() {
return getName();
}
}
}