列表视图中的项目并意外重新组织。显示向下滚动同一列表项时的含义。这是非常奇怪的行为。有没有人遇到过这个?
@Override
public View getView(int position, View view, ViewGroup parent) {
View row = view;
if(row == null)
{
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
......
//this view is on xml file (container)
LinearLayout ll = (LinearLayout) row.findViewById(R.id.listViewControllers);
//adding my own views to a linear layout container dynamically...
.......
}
}
return row;
我决定使用inflater在getView中扩充另一个列表项视图。所有在for循环中。但是我在为textview设置文本时遇到问题。首先出现的行不想正确设置Text。
以下是getView
中的代码段for(Controller aController : controllers) {
inflater.inflate(R.layout.list_view_item, ll, true);
TextView tv2 = (TextView) row2.findViewWithTag("controller_name");
tv2.setText(aController.getName());
}
这是list_view_item:
<?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="wrap_content"
android:background="@drawable/bg_controller_cell"
android:orientation="vertical" >
<TableRow
android:id="@+id/tableRowBatchController"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingLeft="15dp"
android:paddingTop="15dp"
android:tag="controller_name"
android:text="name"
android:textColor="#ffffff" />
</TableRow>
</LinearLayout>
提前致谢。仍在查看列表项未在“controller_name”文本视图中正确设置文本的原因
答案 0 :(得分:0)
这是预期的,ListView
重复使用屏幕上的列表项来显示可见项目。添加'else'分支,该分支不会使新View
充气,但会使用商品数据填充现有分支。