我正在使用以下内容来填充我的 ListView ,如果我单击 btn_Delete,我不想显示项目,我成功地从 hasValues 中删除了项目,但它在 ListView 中显示了空白项目,
我想从列表中删除这个空白 ListView 项。
如果有人知道如何执行此操作,请回复。
谢谢,
private class MyArrayAdapter extends ArrayAdapter
{
private List<HashMap<String, String>> myData = new ArrayList<HashMap<String, String>>();
public MyArrayAdapter(Context context, int textViewResourceId, List<HashMap<String, String>> objects)
{
super(context, textViewResourceId, objects);
context = getContext();
myData = objects;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
View v = convertView;
try
{
if(v == null)
{
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.listSomeThing, null);
}
if(hasValues != null && !hasValues.get(DatabaseConstant.key_STATUS).equals("D"))
{
btn_Delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
// delete item from HasValues..
}
}
else
{
v.setVisibility(View.GONE);
}
}
catch (Exception e)
{
Utility.saveExceptionDetails(LogsDetails.this, e);
e.printStackTrace();
}
return v;
}
}
最佳答案
您需要将它从数组 myData
中删除,然后在您的 ListView 适配器上调用 notifyDataSetChanged
。
否则将调用 getView 并填充列表项,无论是否存在 hasValues
,因为将返回 View 。 (不要尝试返回 null - 它不会起作用)。
关于android - 如何从 ListView 中跳过一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9161692/