-1

I don't know ho to handle delete and edit in this code

@Override  
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);  
    menu.setHeaderTitle("Select");  
    menu.add(0, R.id.editt, 0, "Edit");  
    menu.add(0, R.id.delete, 0, "Delete");  
    menu.add(0, R.id.DeleteAll, 0, "delete all");
}  

public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    switch(item.getItemId())
    {
    case R.id.editt: {
        Intent ed  = new Intent(DsTest2Activity.this, Edit.class);
        startActivity(ed);
        break; }

    case R.id.delete: {

        break; }

    case R.id.DeleteAll: {
        SQLiteDatabase ld = openOrCreateDatabase(dbName, Context.MODE_PRIVATE, null);
        ld.delete(tableName, null, null);
        String[] from = {"task", "_id"};
        int[] to = {R.id.textview_id,R.id.checkbox_id};

        SimpleAdapter sa = new SimpleAdapter(this, lc, R.layout.checkbox, from, to);
        ListView li = (ListView) findViewById(R.id.listview_id);
        li.setAdapter(sa);
        sa.notifyDataSetChanged();
        li.setVisibility(ListView.INVISIBLE);
        break; }

    default: { return true; }

    }

    return super.onContextItemSelected(item);
}

When user press long click on

li.setOnItemLongClickListener(new OnItemLongClickListener() {
    public boolean onItemLongClick(AdapterView<?> adapter, View view, int position, long id)
    {   
        registerForContextMenu(li);
        return false;
    }
});
Sergey Glotov
  • 20,200
  • 11
  • 84
  • 98

1 Answers1

1

You have to call the registerForContextMenu(li) in the onCreate() method of the activity, or in the onActivityCreated() method if you use fragments.

You don't have to call the li.setOnItemLongClickListener(...). Please delete it.

Please also see the following discussions: How do you implement context menu in a ListActivity on Android? and Context menu in list activity

Community
  • 1
  • 1
Blehi
  • 1,990
  • 1
  • 18
  • 20