ImageView를 클릭하면 listView에서 특정 행을 삭제하려고합니다. 내 목록보기는 다음과 같습니다. AdapterView에서 removeView (View)가 지원되지 않습니다.
마지막 이미지를 클릭하여 해당 행을 삭제할 때 원합니다.
public class UserItemAdapter extends ArrayAdapter<Photos.Record> {
private ArrayList<Photos.Record> photos;
public UserItemAdapter(Context context, int textViewResourceId, ArrayList<Photos.Record> photos) {
super(context, textViewResourceId, photos);
this.photos = photos;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.photorowlist, null);
v.setClickable(true);
v.setFocusable(true);
}
Photos.Record user = photos.get(position);
if (user != null) {
TextView photo_name = (TextView) v.findViewById(R.id.photoname);
if (photo_name != null) {
photo_name.setText(user.photo_name);
}
}
v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
//Toast.makeText(view.getContext(), "Clicked", Toast.LENGTH_SHORT).show();
ImageView delete_photo = (ImageView) view.findViewById(R.id.deletephoto);
delete_photo.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(Photos.this, "Delete Button Clicked", Toast.LENGTH_SHORT).show();
listView.removeView(v);
myadapter.notifyDataSetChanged();
}});
}
});
return v;
}
}
public class Record {
public String photo_name;
public Record(String photo_name) {
this.photo_name = photo_name;
}
}
내가 이것을 사용하여 행 삭제하려고했습니다 : : 여기 내 어댑터입니다
listView.removeView(v);
myadapter.notifyDataSetChanged();
와 나는 오류 얻을 : ERROR AndroidRuntime java.lang.UnsupportedOperationException: removeView(View) is not supported in AdapterView
내 mystake이를? 어떤 생각?
아니요,하지만 저는 잘못된 길을 가고 있다고 생각합니다. 귀하의 어댑터에 귀하의 활동 (또는 조각)에 귀하의 ClickListener를 작성해서는 안됩니다. 그런 다음보기에 대해 OnItemClickListener를 설정하고 여기에서 사진을 삭제하십시오. 나는 분명하지 않다.하지만 [Cyril Mottier의 블로그] (http://android.cyrilmottier.com/?p=525)를보아야한다. – AMerle
나는 어댑터와 같은 데이터를 제거하려고 시도했다. 그리고 새로 고침) 그러나 작동하지 않았다. 여기에 다른 문제가 열렸습니다. http://stackoverflow.com/questions/38250987/removing-an-item-from-the-dropdown-list-of-a-baseadapter –