각 항목에 삭제 단추가있는 ListView가 있습니다. 데이터에서 제거 할 항목 (HashMaps의 ArrayList)을 단추로 누르고 ListView에서 닫을 때도 필요합니다. 여기 BaseAdapter를 사용하여 ListView를 새로 고칩니다.
내 코드입니다 :BaseAdapter :
public class MyCustomAdapter extends BaseAdapter{
private ArrayList<HashMap<String, Object>> list;
private Context context;
public MyCustomAdapter(ArrayList<HashMap<String, Object>> list,Context context){
this.list = list;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
if(view == null){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.addresslist_item, null);
TextView address = (TextView) view.findViewById(R.id.listtxtaddress);
String add = String.valueOf(list.get(position).get("address"));
address.setText(add);
Button btndelete = (Button) view.findViewById(R.id.listbtndelete);
btndelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("check", "item_positiona:"+position);
Log.d("check", "lista:"+list.toString());
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Τιτλος επιχειρησησης");
builder.setMessage("Θέλετε να διαγάρψετε αυτή τη διεύθυνση;");
builder.setNegativeButton("NAI", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Log.d("check", "item_positionb:"+position);
list.remove(position);
notifyDataSetChanged();
}
});
builder.setPositiveButton("AKYPO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog abc = builder.create();
abc.show();
}
});
}
return view;
}
}
내 문제는 항목이 데이터에서 제거되지만이다의 ListView는 마지막 항목이 제거되고 갱신이 아닌 항목을 때 그 전 왜 이런 생각이 드는거야? 미리 감사드립니다.
의 다음 onclick을 어디에 정확히 내가 updateResults 메서드를 호출해야합니까? – user3734693
OP 문제가 업데이트 목록보기가 아니므로 잘못된 항목이 삭제되어 유용하지 않습니다. – Rohit5k2