Here is a simple example to show two listviews horizintally in android.
here is the java code that sets up the list.
package com.coderzheaven.pack; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.AdapterView.OnItemClickListener; public class AlphabetListDemo extends Activity { //String of alphabets // String[] alphabts = {"A","B","C","D","E","F","G","H","I","J","K","L"}; ListView L1, L2; myAdapter myadp; myAdapter2 myadp2; String prod_arr[] = {}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); L1 = (ListView)findViewById(R.id.list1); L2 = (ListView)findViewById(R.id.list2); myadp = new myAdapter(this,alphabts); L2.setAdapter(myadp); // initial populating // setProducts(0); L2.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { setProducts(arg2); } }); } public void setProducts(int number){ prod_arr = new String[25]; // adding some dummy data // for(int i = 0; i < 25 ; i++){ prod_arr[i] = "Product : " + alphabts[number] + i; } //setting the adapter in listview // myadp2 = new myAdapter2(AlphabetListDemo.this,prod_arr); L1.setAdapter(myadp2); } class myAdapter extends ArrayAdapter<String> { TextView label; ImageView image; View row; public myAdapter(Context context,String[] arr) { super(context, android.R.layout.simple_list_item_1, arr); } public View getView(final int position, View convertView, ViewGroup parent) { try{ LayoutInflater inflater=getLayoutInflater(); row = inflater.inflate(R.layout.lv_rows, parent, false); label = (TextView)row.findViewById(R.id.item_title); label.setText(alphabts[position]); label.setTextColor(Color.YELLOW); }catch(Exception e){ } return row; } } // adapter for second list..... class myAdapter2 extends ArrayAdapter<String> { TextView label; ImageView image; View row; public myAdapter2(Context context,String[] arr) { super(context, android.R.layout.simple_list_item_1, arr); } public View getView(final int position, View convertView, ViewGroup parent) { try{ LayoutInflater inflater=getLayoutInflater(); row = inflater.inflate(R.layout.lv_rows, parent, false); label = (TextView)row.findViewById(R.id.item_title); label.setText(prod_arr[position]); label.setTextColor(Color.WHITE); }catch(Exception e){ } return row; } } }
Here is the main.xml file.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginTop="5dp" android:orientation="horizontal"> <!-- this list contains products --> <ListView android:id="@+id/list1" android:cacheColorHint="#00000000" android:scrollbars="none" android:fadingEdge="vertical" android:soundEffectsEnabled="true" android:dividerHeight="1px" android:padding="0dip" android:smoothScrollbar="true" android:layout_width="fill_parent" android:layout_height="wrap_content" android:drawSelectorOnTop="false" android:layout_marginTop="5dip" android:layout_marginLeft="5dip" android:layout_marginRight="5dip" android:layout_marginBottom="5dip" android:layout_weight="1" /> <ListView android:id="@+id/list2" android:layout_weight="4" android:cacheColorHint="#00000000" android:scrollbars="none" android:fadingEdge="vertical" android:soundEffectsEnabled="true" android:dividerHeight="1px" android:padding="0dip" android:smoothScrollbar="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawSelectorOnTop="false" android:layout_marginTop="5dip" android:layout_marginLeft="5dip" android:layout_marginRight="5dip" android:layout_marginBottom="5dip" /> </LinearLayout> </LinearLayout>
Here is the layout for each row in the list .
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="7dp" > <TextView android:id="@+id/item_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="2dp" android:text="Main Item" android:textAppearance="?android:attr/textAppearanceMedium" android:textSize="14dp" android:textStyle="normal" /> </RelativeLayout>
Here is the complete source code for this example.