2012-03-28 19 views
1

我使用ListView來填充我的菜單和價格。Android - 2同一行中的ListView

我有2 ListView s基本上:一個菜單和另一個價格。

如何根據以下圖像顯示同一行中的兩張ListView

請指教。

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(); 
    }  
} 
+1

爲什麼你需要兩個ListView的?不會有一個ListView會做同樣的事情嗎? – Mayank 2012-03-28 08:36:03

+0

我嘗試在一個列表視圖中的菜單和價格作爲一個字符串...它工作,但有對齊問題。對齊是基於ListView中的字符串的數量。 – 2012-03-28 08:43:03

+1

好吧,你需要兩個文本視圖的列表項不是單個文本視圖。 – Mayank 2012-03-28 08:44:23

回答

1

下面的代碼將生成佈局需要

<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> 
+0

03-28 17:17:30.151:E/AndroidRuntime(16976):java.lang.RuntimeException:無法啓動活動ComponentInfo {com.smartmenu/com.smartmenu.ShowMenuActivity}:java.lang.ClassCastException:android.widget。 LinearLayout不能轉換爲android.widget.ListView – 2012-03-28 09:18:26

+0

你必須顯示你在哪裏得到錯誤。另外上面的代碼是'R.layout.menu_item' – Mayank 2012-03-28 15:19:47

+0

當我複製粘貼你的代碼在R.layout.menu_item我得到這個錯誤.. java.lang.IllegalStateException:ArrayAdapter需要資源ID是一個TextView – 2012-03-29 07:26:48

0

我會做一個相對佈局有兩個TextViews在我的list_item xml中,並向左和向右浮動。

+0

我使用了相對佈局,但我沒有使用TextViews ... – 2012-03-28 08:44:42

0

+1 list_item.xml並根據需要設計佈局。 請參閱下面的代碼片段作爲列表項的自定義佈局示例;

<?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> 
+0

我編輯併發布了我的代碼問題...當我使用水平時,我得到了對齊問題。菜單和價格沒有正確對齊。 – 2012-03-28 09:16:31

相關問題