2011-12-12 60 views

回答

1

我用這個代碼的ListView adaper:

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

     View rowView; 
     EntSaleDocumentDetails entSaleDocumentDetails = getItem(position); 

     if (convertView == null) { 
      LayoutInflater inflator = (LayoutInflater) getContext() 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      rowView = inflator.inflate(R.layout.myLayout, 
        null); 
     } else { 
      rowView = (View) convertView; 
     } 


     TextView myTv= (TextView) rowView 
       .findViewById(R.id.tvCode); 

     myTv.setTextSize(16); 

     //.... 

     // set selected item 
     LinearLayout ActiveItem = (LinearLayout) rowView; 
     if (position == selectedItem) 
     { 
      ActiveItem 
        .setBackgroundResource(R.drawable.background_dark_blue); 
     } 
     else 
     { 
      ActiveItem 
        .setBackgroundResource(R.drawable.border02); 
     } 
     //.... 
} 

public void setSelectedItem(int position) { 
     selectedItem = position; 
    } 

您的自定義佈局:

<?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:layout_gravity="right" 
    android:background="@drawable/border02" 
    android:gravity="right" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/back_color_selector03" 
     android:gravity="right" > 

     <TextView 
      android:id="@+id/tvName" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom|right" 
      android:gravity="right" 
      android:text="TextView" > 
     </TextView> 

     <TextView 
      android:id="@+id/tvCode" 
      android:layout_width="100dip" 
      android:layout_height="wrap_content" 
      android:gravity="right" 
      android:text="TextView" /> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/llProductDetails" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/back_color_selector_blue_simple" > 

     <ImageButton 
      android:id="@+id/btnProductDetails" 
      android:layout_width="40dip" 
      android:layout_height="40dip" 
      android:src="@drawable/prd_details" /> 

     <TableLayout 
      android:id="@+id/tblProductDetails" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:gravity="right" > 

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

       <TextView 
        android:id="@+id/tvQty" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="right" 
        android:text="TextView" 
        android:textColor="@color/darkText" /> 

       <TextView 
        android:id="@+id/tvLblQty" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:gravity="right" 
        android:paddingLeft="20dip" 
        android:text="TextView" 
        android:textColor="@color/darkText" /> 

       <TextView 
        android:id="@+id/tvStockQty" 
        android:layout_width="100dip" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:gravity="right" 
        android:paddingLeft="20dip" 
        android:text="TextView" 
        android:textColor="@color/darkText" /> 

       <TextView 
        android:id="@+id/tvLblStockQty" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:gravity="right" 
        android:paddingLeft="20dip" 
        android:text="TextView" 
        android:textColor="@color/darkText" /> 
      </TableRow> 

      <TableRow 
       android:id="@+id/tableRow2" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:gravity="right" > 

       <TextView 
        android:id="@+id/tvMablagh" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:gravity="right" 
        android:text="TextView" 
        android:textColor="@color/darkText" /> 

       <TextView 
        android:id="@+id/tvLblMablagh" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:gravity="right" 
        android:paddingLeft="20dip" 
        android:text="TextView" 
        android:textColor="@color/darkText" /> 

       <TextView 
        android:id="@+id/tvFee" 
        android:layout_width="100dip" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:gravity="right" 
        android:paddingLeft="20dip" 
        android:text="TextView" 
        android:textColor="@color/darkText" /> 

       <TextView 
        android:id="@+id/tvLblFee" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:gravity="right" 
        android:paddingLeft="20dip" 
        android:text="TextView" 
        android:textColor="@color/darkText" /> 
      </TableRow> 
     </TableLayout> 
    </LinearLayout> 

</LinearLayout> 

和活動:

@Override 
    protected void onListItemClick(ListView parent, View view, int position, 
      long id) { 
     super.onListItemClick(parent, view, position, id); 
     adapter.setSelectedItem(position); 
     myListView.invalidateViews(); 
    } 
2

你知道如何定義custom adapter for android listview?

如果您還沒有嘗試通過擴展BaseAdapter或任何其他適配器類來定義適配器類。在裏面,你會得到getView()方法,在這種方法中,你可以爲特定的列表項目編程的每一個方面。

+0

日Thnx ..我是新來的機器人,能你可以用示例代碼詳細說明,非常感謝。 –

+0

@Arfin你可以在這裏找到ListView的例子:http://goo.gl/Rbnhz,通過每一篇文章來定製listview,它的一次練習只是爲了理解和準備自定義的適配器,因爲將來你只需要改變在適配器類中更少。 –

+0

Thnx Paresh。將嘗試相同的,如果有任何疑問,我會讓你知道。 –