chinna_82
chinna_82

Reputation: 6403

Android - 2 ListView in same row

I use ListView to populate my Menu and Price.

I have 2 ListViews basically: one for Menu and another one for Price.

How do I show tow ListViews in same row as per the image below?

Please advise.

enter image description here

viewmenu.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/menu_splashscreen_bg">
    <TextView
        android:id="@+id/TextView01"
        android:layout_height="wrap_content"
        android:text="ABC Restoran Full Menu"
        android:textSize="12pt"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="10"
        android:layout_width="wrap_content"
        android:layout_gravity="center"
       ></TextView>
    <RelativeLayout
        android:id="@+id/RelativeLayout02"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent">
        <ListView
            android:layout_height="wrap_content"
            android:id="@+id/ListView_ProfileMenu"
            android:layout_width="fill_parent"            
            android:layout_alignParentTop="true"></ListView>
    </RelativeLayout>
</LinearLayout>

menu_item.xml

<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:textSize="10pt"
    android:text="@string/hello"    
    android:layout_gravity="center_horizontal"
    android:layout_height="wrap_content"
    android:shadowRadius="5"
    android:gravity="left"
    android:textColor="@color/menulisting"    
    android:shadowDy="3"
    android:shadowDx="3" />

ShowMenuActivity.java

public class ShowMenuActivity extends Activity {
    DatabaseHandler db = new DatabaseHandler(this);

    static String log = null;
    public static String strProfileName;
    public static int ID;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewmenu);        
        ListView profileList = (ListView) findViewById(R.id.ListView_ProfileMenu);        
        List<Contact> profiles = db.getAllContacts();
        ArrayList<String> nameList = new ArrayList<String>();        
        for (Contact cn : profiles) {
             strProfileName = cn.getmenuname() + "       " + cn.getmenuprice();
            nameList.add(strProfileName);
        }
        ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, R.layout.menu_item, nameList);
        profileList.setAdapter(adapt);
        db.close();
    }     
}

Upvotes: 1

Views: 382

Answers (3)

f2lollpll
f2lollpll

Reputation: 1007

I would make a relative layout with two TextViews in it in my list_item xml and float one left and the other right.

Upvotes: 0

Mayank
Mayank

Reputation: 8852

following code will generate the layout you need

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/itemCount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.50"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/itemName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0.50"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

Upvotes: 1

Yilmaz Guleryuz
Yilmaz Guleryuz

Reputation: 9735

+1 list_item.xml and design the layout as you like. see snippet below as an example for custom layout for list item;

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout android:id="@+id/rl_row"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/listitem_selector"
    >

    <LinearLayout android:id="@+id/lay_main"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="@drawable/listitem_selector"
        >
        <LinearLayout android:id="@+id/lay_userProfile_userPicture"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="visible"
            android:gravity="left"
            android:layout_gravity="left"
            android:orientation="vertical"
            android:layout_marginLeft="@dimen/margin_size_medium"
            >
            <ImageView android:id="@+id/avatar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/profilepic"
                android:background="@null"
                />
        </LinearLayout>

        <LinearLayout android:id="@+id/lay_details"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_gravity="center"
            android:orientation="vertical"
            android:layout_margin="@dimen/margin_size_medium"
            >
            <RelativeLayout android:id="@+id/lay_subdetails"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                >
                 <TextView android:id="@+id/txt_mainTxt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/margin_size_medium"
                    android:layout_marginTop="@dimen/margin_size_small"
                    android:layout_alignParentLeft="true"
                    android:layout_alignBaseline="@+id/txt_dateTxt"
                    android:text="main txt"
                    android:textSize="@dimen/text_size_medium"
                    android:textStyle="bold"
                    android:textColor="@drawable/titlecolor"
                    android:singleLine="false"
                    />
                 <TextView android:id="@+id/txt_dateTxt"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="@dimen/margin_size_medium"
                    android:layout_marginTop="@dimen/margin_size_small"
                    android:layout_alignParentRight="true"
                    android:text="datetime txt"
                    android:textSize="@dimen/text_size_extrasmall"
                    android:textStyle="normal"
                    android:textColor="@drawable/normaltextcolor"
                    android:singleLine="false"
                    />
             </RelativeLayout>

             <TextView android:id="@+id/txt_subTxt"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/margin_size_medium"
                android:singleLine="false"
                android:text="subtxt"
                android:textSize="@dimen/text_size_small"
                android:textColor="@drawable/normaltextcolor"
                android:layout_gravity="left"
                />
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

Upvotes: 0

Related Questions