我使用CustomAdapter與四個LinearLayouts爲水平一XML的XML是像如何獲取Android中自定義適配器的佈局位置?
XML代碼:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ivImage"
android:layout_width="0dp"
android:layout_height="77dp"
android:layout_weight="0.2" />
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".05"
android:src="@drawable/divider" />
<LinearLayout
android:id="@+id/ll1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="0.25"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tvVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#FF0000"
android:padding="3dp"
android:text="ff"
android:textColor="@android:color/white"
android:textSize="16dp"
android:visibility="invisible" />
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="99.99"
android:textColor="#000000"
android:textSize="16dp" />
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:text="Laundry"
android:textColor="#3A9ED4"
android:textSize="10dp" />
</LinearLayout>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".05"
android:src="@drawable/divider" />
<LinearLayout
android:id="@+id/ll2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="0.25"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tvVal1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#FF0000"
android:padding="3dp"
android:text="ff"
android:textColor="@android:color/white"
android:textSize="16dp"
android:visibility="invisible" />
<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="99.99"
android:textColor="#000000"
android:textSize="16dp" />
<TextView
android:id="@+id/tv4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:text="Dry Clean"
android:textColor="#3A9ED4"
android:textSize="10dp" />
</LinearLayout>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".05"
android:src="@drawable/divider" />
<LinearLayout
android:id="@+id/ll3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_weight="0.25"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tvVal2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#FF0000"
android:padding="3dp"
android:text="ff"
android:textColor="@android:color/white"
android:textSize="16dp"
android:visibility="invisible" />
<TextView
android:id="@+id/tv5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="99.99"
android:textColor="#000000"
android:textSize="16dp" />
<TextView
android:id="@+id/tv6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:text="Stream Iron"
android:textColor="#3A9ED4"
android:textSize="10dp" />
</LinearLayout>
</LinearLayout>
在此我從服務器獲取的圖像的TextView數據這樣
holder.ll1 = (LinearLayout) rowView.findViewById(R.id.ll1);
holder.ll2 = (LinearLayout) rowView.findViewById(R.id.ll2);
holder.ll3 = (LinearLayout) rowView.findViewById(R.id.ll3);
holder.tv1 = (TextView) rowView.findViewById(R.id.tv1);
holder.tv2 = (TextView) rowView.findViewById(R.id.tv3);
holder.tv3 = (TextView) rowView.findViewById(R.id.tv5);
holder.img = (ImageView) rowView.findViewById(R.id.ivImage);
holder.tvVal = (TextView) rowView.findViewById(R.id.tvVal);
holder.tvVal1 = (TextView)rowView.findViewById(R.id.tvVal1);
holder.tvVal2 = (TextView)rowView.findViewById(R.id.tvVal2);
設置查看組件的數據
holder.tv1.setText(wash_v.get(position));
holder.tv2.setText(dry_v.get(position));
holder.tv3.setText(iron_v.get(position));
這裏的問題是我沒有得到單獨的佈局位置,所以如何獲得單個佈局位置的位置?
我沒有得到你的問題,但如果你想正確地獲得項目的位置,那麼你應該在'getView()'方法中將標籤設置爲'setTag()',並使用標籤獲取位置爲'getTag ()' – Apurva
我們如何設置linearlayout的標籤我認爲holder.ll1.setTag() –
你能解釋一下爲什麼你需要佈局的位置,這樣我可以爲你提供一些替代解決方案,如果可能 –