Question

I am building a custom ListView (card style) and would like to have an edit and delete button on the card. In order to invoke the methods on the correct database rows, I need to know which _id (View) the user selected.

Currently, I am using a context menu which is pretty easy

@Override  
       public void onCreateContextMenu(ContextMenu menu, View v,  
                 ContextMenuInfo menuInfo) { 
            super.onCreateContextMenu(menu, v, menuInfo);
            AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
            position = (int) info.id;
            MenuInflater m = getMenuInflater();  
            m.inflate(R.menu.history_popup_menu, menu);  
       }

    @Override  
       public boolean onContextItemSelected(final MenuItem item) {  
            switch(item.getItemId()){  
                 case R.id.delete:
...

in this case, I get the id (position) in the onCreateContextMenu


I am wanting to get rid of the context menu now and just have edit and delete on the card itself.

How do I go about retrieving the _id from the database and assign it to a value to be used in my delete/edit method?

This is my method for creating the list

private void addItemsToList(){
        Cursor cursor = db.getAllLogs();
        Log.d("history.java", "finished Cursor cursor = db.getAllLogs();");
        String[] from = {"_id", "date", "gallons", "pricePerGallon", "odometer", "filledOrNot", "comments", "totalSpent"};
        int[] to = {deleteVal, R.id.cardDate, R.id.cardGallons, R.id.cardPrice, R.id.cardOdometer, R.id.cardFilledOrNot, R.id.cardComments, R.id.usd};
        adapter = new SimpleCursorAdapter(this, R.layout.history_list_item, cursor, from, to, 0);
        String filledOrNotVal = String.valueOf(R.id.cardFilledOrNot);
        if (filledOrNotVal == "False"){
            Log.d("history", "False");
        } else {
            Log.d("history", "True");
        }
        listContent.setAdapter(adapter);
    }

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top