Hi,
I am new to Android programming and need help with onItemLongClick.
I have implemented an OnItemLongClickListener but when i long click on an
item in my list an UnsupportedOperationException is raised.
I include two files below
listmodified
and my custom adapter
CustomAdapter
Thanks in advance,
listmodified.class
*
package
*listmodified.org;
*
import
*java.util.Arrays;*
import
*java.util.ArrayList;*
import
*android.app.ListActivity;*
import
*android.os.Bundle;*
import
*android.view.View;*
import
*android.widget.AdapterView;*
import
*android.widget.ArrayAdapter;*
import
*android.widget.ListView;*
import
*android.widget.TextView;*
import
*android.widget.AdapterView.OnItemLongClickListener;
*
public
**class* listmodified *extends* ListActivity {
*private* TextView selection; // MAIN.xml
ArrayAdapter<String>
adapter; // for accessing my adapter
*private* String itemSelected; // for delete function
*public* *static* String[] *items*={"lorem", "ipsum", "dolor",
"sit", "amet",
"consectetuer", "adipiscing", "elit", "morbi", "vel",
"ligula", "vitae", "arcu", "aliquet", "mollis",
"etiam", "vel", "erat", "placerat", "ante",
"porttitor", "sodales", "pellentesque", "augue", "purus"};
@Override
*public* *void* onCreate(Bundle icicle) {
*super*.onCreate(icicle);
//onLongClick must be activity and imported above
OnItemLongClickListener itemDelListener =
*new* OnItemLongClickListener(){
@Override
*public* *boolean* onItemLongClick(AdapterView<?> parent, View arg1,
*int* position, *long* arg3) {
// *TODO* Auto-generated method stub
itemSelected=parent.getItemAtPosition(position).toString();
adapter.remove(itemSelected);
adapter.notifyDataSetChanged();
*return* *false*;
}};
setContentView(R.layout.
*main*);
adapter=*new* CustomAdapter(listmodified.*this*, R.layout.*row*, *items*);
setListAdapter(
adapter);
selection=(TextView)findViewById(R.id.*selection*);
getListView().setOnItemLongClickListener(itemDelListener);
}
*public* *void* onListItemClick(ListView parent, View v,
*int* position, *long* id) {
selection.setText(*items*[position]);
}
}
////
*
mport
**java.util.ArrayList*;
*
import
**android.app.ListActivity*;*
import
*android.content.Context;*
import
**android.os.Bundle*;*
import
*android.view.LayoutInflater;*
import
*android.view.View;*
import
*android.view.ViewGroup;*
import
*android.widget.ArrayAdapter;*
import
*android.widget.ImageView;*
import
**android.widget.ListView*;*
import
*android.widget.TextView;*
import
**android.widget.Toast*;
*
public
**class* CustomAdapter *extends* ArrayAdapter<String>{
LayoutInflater
inflater;
*public* CustomAdapter(Context context, *int* textViewResourceId, String[]
objects) {
*super*(context, textViewResourceId, objects);
Context *myContext* = context;
// *TODO* Auto-generated constructor stub
}
//override default view create my own unique view
*public* View getView(*int* position, View convertView, ViewGroup parent){
View row=convertView;
*if*(row==*null*){
//not sure about the following line of code, something to do with context
LayoutInflater inflater=LayoutInflater.*from*(getContext());
row=inflater.inflate(R.layout.
*row*, *null*);
}
TextView label=(TextView)row.findViewById(R.id.
*weekofday*);
label.setText(listmodified.
*items*[position]);
ImageView icon=(ImageView)row.findViewById(R.id.
*icon*);
*if*(listmodified.*items*[position].length()<=1){
icon=(ImageView)row.findViewById(R.id.
*icon*);
icon.setImageResource(R.drawable.
*small_x_dark*);
}
*else*{
icon.setImageResource(R.drawable.
*ok*);
}
*return* row; //This function must return something
}
}
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en