2012-08-02 34 views
0

基本上我在找的是我在我的ListView行看起來是這樣的:如何在ListView行中有一個TextView左對齊和TextView右對齊的XML佈局?

Title:    Harry Potter 
Hardcover:     Yes 
Own:       No 
Country:   United States 

能有人張貼這些行之一的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="wrap_content"> 

    <TableLayout 
     android:id="@+id/tableLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:stretchColumns="0" 
     > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
     android:id="@+id/txtKey" 
     android:layout_height="fill_parent" 
     android:layout_gravity="left" 
     android:textSize="18dip" 
     android:layout_marginLeft="8dip" 
     android:textStyle="bold" 
     android:layout_marginTop="2dp" 
     android:layout_marginBottom="2dp" 
     android:text="test" 
     /> 

      <TextView 
     android:id="@+id/txtValue" 
     android:layout_height="fill_parent" 
     android:layout_gravity="right" 
     android:textSize="18dip" 
     android:layout_marginRight="8dip" 
     android:layout_marginTop="2dp" 
     android:layout_marginBottom="2dp" 
     android:text="test2" 
     /> 

     </TableRow> 

     </TableLayout> 

</LinearLayout> 
+0

你能發佈您的代碼? – 0gravity 2012-08-02 23:18:52

+0

已發佈。你走了 – 2012-08-02 23:34:47

回答

0

明白了。

<?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="wrap_content"> 

    <TableLayout 
     android:id="@+id/tableLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:stretchColumns="0" 
     > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/txtKey" 
       android:text="Some text" 
       android:textSize="18dip" 
       android:textStyle="bold" 
       android:layout_marginLeft="8dip" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="left" 
       android:layout_weight="1.0" 
       android:layout_marginTop="2dp" 
       android:layout_marginBottom="2dp" 
      /> 

      <TextView 
       android:id="@+id/txtValue" 
       android:text="Some text" 
       android:textSize="18dip" 
       android:layout_marginRight="8dip" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:gravity="right" 
       android:layout_weight="1.0" 
       android:layout_marginTop="2dp" 
       android:layout_marginBottom="2dp" 
      /> 

     </TableRow> 

     </TableLayout> 

</LinearLayout> 
0

RES /佈局/ listitem.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:id="@+id/textLeft" 
     android:layout_weight="1" 
     android:gravity="left" 
     android:layout_gravity="left" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 

    <TextView 
     android:id="@+id/textRight" 
     android:layout_weight="1" 
     android:gravity="right" 
     android:layout_gravity="right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"/> 
</LinearLayout> 

然後在你的活動:

ListView listView = (ListView) findViewById(R.id.list); 
    listView.setAdapter(new BaseAdapter() { 

     final String[][] keysAndValues = { 
       {"key1", "value1"}, 
       {"key2", "value2"}, 
       {"key3", "value3"} 
     }; 


     @Override 
     public int getCount() { 
      return keysAndValues.length; 
     } 

     @Override 
     public String[] getItem(int position) { 
      return keysAndValues[position]; 
     } 

     @Override 
     public long getItemId(int position) { 
      return position; 
     } 

     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 

      TextView[] foundTextFields; 

      if(convertView == null) { 
       convertView = LayoutInflater.from(parent.getContext()).inflate(
         R.layout.listitem, parent, false); 
       foundTextFields = new TextView[] { 
         (TextView) convertView.findViewById(R.id.textLeft), 
         (TextView) convertView.findViewById(R.id.textRight)      
       }; 
       convertView.setTag(foundTextFields); 
      } 
      else { 
       foundTextFields = (TextView[]) convertView.getTag(); 
      } 

      String[] item = getItem(position); 
      foundTextFields[0].setText(item[0]); 
      foundTextFields[1].setText(item[1]); 

      return convertView; 
     } 
    }); 
相關問題