I have an gridview . The adapter of the gridview is as follows :
public class ImageAdapter extends ArrayAdapter<String> {
private Context context;
private final String[] mobileValues;
public ImageAdapter(Context context,int resource, String[] mobileValues) {
super(context, resource, mobileValues);
this.context = context;
this.mobileValues = mobileValues;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
// get layout from mobile.xml
gridView = inflater.inflate(R.layout.mobile, null);
// set value into textview
TextView textView = (TextView) gridView
.findViewById(R.id.grid_item_label);
textView.setText(mobileValues[position]);
// set image based on selected text
ImageView imageView = (ImageView) gridView
.findViewById(R.id.grid_item_image);
String mobile = mobileValues[position];
if (mobile.equals("Windows")) {
imageView.setImageResource(R.drawable.windows_logo);
} else if (mobile.equals("iOS")) {
imageView.setImageResource(R.drawable.ios_logo);
} else if (mobile.equals("Blackberry")) {
imageView.setImageResource(R.drawable.blackberry_logo);
} else {
imageView.setImageResource(R.drawable.android_logo);
}
} else {
gridView = (View) convertView;
}
return gridView;
}
@Override
public int getCount() {
return mobileValues.length;
}
@Override
public String getItem(int position) {
return mobileValues[position];
}
@Override
public long getItemId(int position) {
return 0;
}
}
I want to delete an item from the adapter by long click on the gridview . For this I have the following code :
public boolean onItemLongClick(AdapterView<?> parent, View v, int position, long id) {
// TODO Auto-generated method stub
imageAdapter.remove(imageAdapter.getItem(position));
return false;
}
But I get exception . How can I delete an item from adapterview on long click ?