我添加视图的方式使得每个第五项添加视图时,我只希望一个位置具有此“Mängd”行。 为什么我只能在屏幕上看到列表项目时进行编辑。 即使我有20个项目,孩子将是静态的5项.... 有没有办法只说项目1会有这个而不是
位置 - firstvisibleposition
我认为这是listview的问题
因为其他事情,我的代码当时不可理解,所以我希望你能解决我的问题。
似乎我添加到位置0的事情也发生在6和12为什么ListView这个很奇怪? 这是瑞典语,但这是我用列表视图得到的。 每个listview项都有一个空的Linearlayout,当我按下向下箭头按钮时,我会添加一个视图。问题是,每五个项目得到这个或我只能点击前五个。
我不明白为什么他们让ListView如此复杂。我希望能够在没有看到它的情况下找到列表中的孩子!
public View getView (int position, View convertView, ViewGroup parent){
if (convertView == null)
{
convertView = LayoutInflater.from(getContext()).inflate(R.layout.view_meal_item_editable, null);
}
convertView.setOnTouchListener(new ItemSwipeListener(position,
getResources().getDisplayMetrics().density));
convertView.setClickable(true);
// Lookup view for data population
TextView food_item_name = (TextView) convertView.findViewById(R.id.food_item_name);
food_item_name.setHint("hello");
}
我在哪里添加视图
View view = searchResultList.getAdapter().getView(position, searchResultList.getChildAt(position - searchResultList.getFirstVisiblePosition()), searchResultList);
LinearLayout extendedView = (LinearLayout)view.findViewById(R.id.extended_food_information);
View convertExtendedView = LayoutInflater.from(this).inflate(R.layout.change_amount_on_food_view, null);
extendedView.addView(convertExtendedView);
答案 0 :(得分:1)
如果您只为第一个元素执行此操作,建议使用header view。
否则,如果您在getView()
方法中添加额外的视图会更好,例如:
if(position==0){
// add extra view
} else {
// remove extra view if exist
}
或者你可以删除IF条件:if (convertView == null)
,这样每次都会给新布局充气,它会解决你的问题,但这对于列表性能不好