Click here to Skip to main content
15,884,388 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Java
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);
		
		
		/*
		 * Calling Library & BookItem classes for create list of groups
		 *  groupbyArrayBookItem return back array of array of items
		 */
		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) {
		// TODO Auto-generated method stub
		
	}

	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;
		}
	}

	/*
	 * This class add some items to Horizontal ListView this ListView include
	 * several bookItem.
	 */
	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;
		}
	}

}


Java
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);
		
		
		/*
		 * Calling Library & BookItem classes for create list of groups
		 *  groupbyArrayBookItem return back array of array of items
		 */
		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) {
		// TODO Auto-generated method stub
		
	}

	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;
		}
	}

	/*
	 * This class add some items to Horizontal ListView this ListView include
	 * several bookItem.
	 */
	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;
		}
	}

}
Posted
Updated 4-Dec-13 21:48pm
v2
Comments
Darren_vms 5-Dec-13 3:48am    
Don't see any question

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900