我正在尝试删除自定义列表视图的项目按钮单击,删除功能正常,但prblem是当我点击按钮然后项目donot当场删除,当我重新加载
@Override
public View getView(final int paramInt, View paramView, ViewGroup paramViewGroup) {
// TODO Auto-generated method stub
LayoutInflater inflator = activity.getLayoutInflater();
if (paramView == null) {
view = new ViewHolder();
paramView = inflator.inflate(R.layout.listview_row, null);
view.header = (TextView) paramView.findViewById(R.id.tvHeader);
view.from = (TextView) paramView.findViewById(R.id.tvfrom);
view.to = (TextView) paramView.findViewById(R.id.tvto);
view.value = (EditText) paramView.findViewById(R.id.etValue);
view.imgViewFlag = (ImageView) paramView.findViewById(R.id.ibclose);
view.result = (TextView) paramView.findViewById(R.id.tvResult);
paramView.setTag(view);
} else {
view = (ViewHolder) paramView.getTag();
}
view.header.setText(Header.get(paramInt));
view.from.setText(From.get(paramInt));
view.to.setText(To.get(paramInt));
view.value.setText(Value.get(paramInt));
view.imgViewFlag.setImageResource(close.get(paramInt));
view.value.setFocusableInTouchMode(false);
view.value.setFocusable(false);
view.imgViewFlag.setFocusableInTouchMode(false);
view.imgViewFlag.setFocusable(false);
view.imgViewFlag.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int i=paramInt+1;
File f1 = new File("/data/data/com.example.converter/shared_prefs/"+i+".xml");
if(f1.exists()){
f1.delete();
Header.remove(paramInt);
From.remove(paramInt);
close.remove(paramInt);
To.remove(paramInt);
Value.remove(paramInt);
}
else{
for(int l = i;i<6;){
File f2 = new File("/data/data/com.example.converter/shared_prefs/"+l+".xml");
if(f2.exists()){
f2.delete();
Header.remove(paramInt);
From.remove(paramInt);
close.remove(paramInt);
To.remove(paramInt);
Value.remove(paramInt);
break;
}
else{
l++;
}
}
}
}
});
return paramView;
请帮助我,我很困惑我是怎么做的,我想在我点击按钮时删除该项目,当我点击那个时候没有删除的按钮时它不会删除..... ...
答案 0 :(得分:4)
我发布了从listview中删除项目的代码,该代码在我的代码中正常工作。
你忘了给notifysetchanged打电话了。
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View row = null;
LayoutInflater inflater = getLayoutInflater();
row = inflater.inflate(R.layout.one_result_details_row, parent, false);
// inflate other items here :
Button deleteButton = (Button) row.findViewById(R.id.Details_Button01);
deleteButton.setTag(position);
deleteButton.setOnClickListener(
new Button.OnClickListener() {
@Override
public void onClick(View v) {
Integer index = (Integer) view.getTag();
items.remove(index.intValue());
notifyDataSetChanged();
}
}
);
请看下面的答案
1)Remove ListView items in Android
2)Remove selected item from ListView
如果您仍然面临任何问题,请告诉我......
由于