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.