如何區分列表視圖中的不同項目,使用ListActivity(Android)
。例如,我想根據某些條件更改不同項目的文本顏色。區分ListView項目,ListActivity(Android)
任何機構請給我一些示例代碼來做到這一點?
如何區分列表視圖中的不同項目,使用ListActivity(Android)
。例如,我想根據某些條件更改不同項目的文本顏色。區分ListView項目,ListActivity(Android)
任何機構請給我一些示例代碼來做到這一點?
我用這個代碼的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();
}
你知道如何定義custom adapter
for android listview?
如果您還沒有嘗試通過擴展BaseAdapter或任何其他適配器類來定義適配器類。在裏面,你會得到getView()
方法,在這種方法中,你可以爲特定的列表項目編程的每一個方面。
日Thnx ..我是新來的機器人,能你可以用示例代碼詳細說明,非常感謝。 –
@Arfin你可以在這裏找到ListView的例子:http://goo.gl/Rbnhz,通過每一篇文章來定製listview,它的一次練習只是爲了理解和準備自定義的適配器,因爲將來你只需要改變在適配器類中更少。 –
Thnx Paresh。將嘗試相同的,如果有任何疑問,我會讓你知道。 –