package com.onazifi.shelf;
import java.util.ArrayList;
import com.onazifi.shelf.BookItem;
import com.onazifi.shelf.HorizontalListView;
import com.onazifi.shelf.Library;
import com.onazifi.shelf.R;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class ShelfViewActivity extends Activity {
private VerticalAdapter verListAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.id.activity_main);
Library lb = new Library();
for (BookItem item : BookItem.ALL_BOOKS) {
lb.addBookItem(item);
}
ArrayList<arraylist><bookitem>> groupList = new ArrayList<arraylist><bookitem>>();
groupList = lb.groupbyArrayBookItem(Library.AUTHOR);
verListAdapter = new VerticalAdapter(this, R.layout.row, groupList);
setListAdapter(verListAdapter);
verListAdapter.notifyDataSetChanged();
}
private void setListAdapter(VerticalAdapter verListAdapter2) {
}
private class VerticalAdapter extends ArrayAdapter<arraylist><bookitem>> {
private int resource;
public VerticalAdapter(Context _context, int _ResourceId,
ArrayList<arraylist><bookitem>> _items) {
super(_context, _ResourceId, _items);
this.resource = _ResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View rowView;
if (convertView == null) {
rowView = LayoutInflater.from(getContext()).inflate(resource,
null);
} else {
rowView = convertView;
}
HorizontalListView hListView = (HorizontalListView) rowView
.findViewById(R.id.subListview);
HorizontalAdapter horListAdapter = new HorizontalAdapter(
getContext(), R.layout.item, getItem(position));
hListView.setAdapter(horListAdapter);
return rowView;
}
}
public class HorizontalAdapter extends ArrayAdapter<bookitem> {
private int resource;
public HorizontalAdapter(Context _context, int _textViewResourceId,
ArrayList<bookitem> _items) {
super(_context, _textViewResourceId, _items);
this.resource = _textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View retval = LayoutInflater.from(getContext()).inflate(
this.resource, null);
TextView topText = (TextView) retval.findViewById(R.id.title);
TextView bottomText = (TextView) retval
.findViewById(R.id.author);
topText.setText(getItem(position).getAuthor());
bottomText.setText(getItem(position).getTitle());
return retval;
}
}
}
package com.onazifi.shelf;
import java.util.ArrayList;
import com.onazifi.shelf.BookItem;
import com.onazifi.shelf.HorizontalListView;
import com.onazifi.shelf.Library;
import com.onazifi.shelf.R;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class ShelfViewActivity extends Activity {
private VerticalAdapter verListAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.id.activity_main);
Library lb = new Library();
for (BookItem item : BookItem.ALL_BOOKS) {
lb.addBookItem(item);
}
ArrayList<arraylist><bookitem>> groupList = new ArrayList<arraylist><bookitem>>();
groupList = lb.groupbyArrayBookItem(Library.AUTHOR);
verListAdapter = new VerticalAdapter(this, R.layout.row, groupList);
setListAdapter(verListAdapter);
verListAdapter.notifyDataSetChanged();
}
private void setListAdapter(VerticalAdapter verListAdapter2) {
}
private class VerticalAdapter extends ArrayAdapter<arraylist><bookitem>> {
private int resource;
public VerticalAdapter(Context _context, int _ResourceId,
ArrayList<arraylist><bookitem>> _items) {
super(_context, _ResourceId, _items);
this.resource = _ResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View rowView;
if (convertView == null) {
rowView = LayoutInflater.from(getContext()).inflate(resource,
null);
} else {
rowView = convertView;
}
HorizontalListView hListView = (HorizontalListView) rowView
.findViewById(R.id.subListview);
HorizontalAdapter horListAdapter = new HorizontalAdapter(
getContext(), R.layout.item, getItem(position));
hListView.setAdapter(horListAdapter);
return rowView;
}
}
public class HorizontalAdapter extends ArrayAdapter<bookitem> {
private int resource;
public HorizontalAdapter(Context _context, int _textViewResourceId,
ArrayList<bookitem> _items) {
super(_context, _textViewResourceId, _items);
this.resource = _textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View retval = LayoutInflater.from(getContext()).inflate(
this.resource, null);
TextView topText = (TextView) retval.findViewById(R.id.title);
TextView bottomText = (TextView) retval
.findViewById(R.id.author);
topText.setText(getItem(position).getAuthor());
bottomText.setText(getItem(position).getTitle());
return retval;
}
}
}