我需要在滚动视图上有几个列表视图,Android不允许我这样做我决定手动设置简单地在垂直LinearLayout上充气一些listrows,但一切都不正确
private void fillData(final ViewGroup parent, final ArrayList<Person> array ){
for (int i=0;i<array.size();i++){
final View view = lf.inflate(R.layout.personal_listrow, parent,true);
parent.setBackgroundColor(getActivity().getResources().getColor(R.color.background_light_darker));
view.setBackgroundColor(getActivity().getResources().getColor(R.color.background_night_lighter));
TextView tvName=(TextView) view.findViewById(R.id.tvName);
TextView tvStatus=(TextView) view.findViewById(R.id.tvStatus);
TextView tvGender=(TextView) view.findViewById(R.id.tvGender);
//fill textviews with info, set the onClickListeners and so on
}
所以我得到了 - view.setBackgroundColor也绘制了父级。 parent是一个垂直的LinearLayout,视图是水平的LinearLayout - 它很奇怪,我不会只绘制膨胀的元素所以请解释我为什么
接下来的事情 - 在我向数组添加内容之后 - 第一个元素发生了变化,其余部分都是未更改的文本。但是,我使用调试器遍历代码 - 它传递每个元素并设置文本。
clicklisteners仅适用于第一个元素..
你会解释
吗?此处的垂直,父级布局 - 没什么特别的:
<LinearLayout
android:id="@+id/rodll"
android:layout_marginTop="16dp"
android:layout_marginBottom="8dp"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
可膨胀的listrow也没什么特别的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/tvStatus"
android:layout_width="0dp"
android:layout_weight=".3"
android:maxLines="1"
android:layout_height="wrap_content"
android:text="tvSt" />
<TextView
android:id="@+id/tvName"
android:layout_weight="1"
android:layout_width="0dp"
android:maxLines="1"
android:layout_height="wrap_content"
android:text="tvName" />
<TextView
android:id="@+id/tvGender"
android:layout_weight=".1"
android:layout_width="0dp"
android:maxLines="1"
android:layout_height="wrap_content"
android:text="tvGender" />
<com.andexert.library.RippleView
android:id="@+id/removeRipple"
xmlns:ripple="http://schemas.android.com/apk/res-auto"
android:layout_marginLeft="30dp"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginRight="7.5dip"
android:padding="3dp"
ripple:rv_alpha="255"
ripple:rv_zoom="true"
ripple:rv_zoomScale="0.8"
ripple:rv_type="rectangle">
<ImageView
android:id="@+id/remove_icon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/remove" />
</com.andexert.library.RippleView>
<com.andexert.library.RippleView
android:id="@+id/addRipple"
xmlns:ripple="http://schemas.android.com/apk/res-auto"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginRight="7.5dip"
android:padding="3dp"
ripple:rv_alpha="255"
ripple:rv_zoom="true"
ripple:rv_zoomScale="0.8"
ripple:rv_type="rectangle">
<ImageView
android:id="@+id/add_icon"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/add" />
</com.andexert.library.RippleView>
</LinearLayout>
因此。问题是什么以及如何解决?