gpt4 book ai didi

android - 快速滚动 ListView 时项目消失

转载 作者:搜寻专家 更新时间:2023-11-01 08:49:02 25 4
gpt4 key购买 nike

我创建了一个扩展 BaseAdapter 的适配器。以下是类(class):

class LocalAdapter extends BaseAdapter{

private Context context;
public LocalAdapter(Context ctx){
context=ctx;
}

@Override
public int getCount() {
return messages.size();
}

@Override
public Object getItem(int i) {
return null;
}

@Override
public long getItemId(int i) {
return 0;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if(view==null){
LayoutInflater li = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = li.inflate(R.layout.chat_list_item,viewGroup,false);
}


TextView rightView = (TextView)view.findViewById(R.id.rightAligned);
TextView leftView = (TextView)view.findViewById(R.id.leftAligned);



if(messages.get(i).getFrom().equals(UserInfo.getMobileNumber())){
rightView.setText(messages.get(i).getMessage());
leftView.setVisibility(View.GONE);
}
else{
leftView.setText(messages.get(i).getMessage());
rightView.setVisibility(View.GONE);
}

return view;
}
}

适配器可以从主类访问 ArrayList。它有大约 30 个项目。现在,当我加载列表时,所有项目都已加载,但是当滚动列表时,一些项目会在滚动时消失。

请提供解决方案。

最佳答案

您可能没有调用 setVisiblity(View.VISIBLE) 只是隐藏 View ,以这种方式修复它:

if (messages.get(i).getFrom().equals(UserInfo.getMobileNumber())){
rightView.setText(messages.get(i).getMessage());
leftView.setVisibility(View.GONE);
rightView.setVisibility(View.VISIBLE);
} else {
leftView.setText(messages.get(i).getMessage());
rightView.setVisibility(View.GONE);
leftView.setVisibility(View.VISIBLE);
}

关于android - 快速滚动 ListView 时项目消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25460579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com