Android 如何在上下文菜单中获取行值

Android 如何在上下文菜单中获取行值,android,android-intent,android-contextmenu,Android,Android Intent,Android Contextmenu,可能重复: 我创建了一个上下文菜单,并使用了以下代码: public boolean onContextItemSelected(MenuItem item){ switch(item.getItemId()) { case R.id.Show_Note: //AdapterView.AdapterContextMenuInfo info= (AdapterView.Adap

可能重复:

我创建了一个
上下文菜单
,并使用了以下代码:

    public boolean onContextItemSelected(MenuItem item){

            switch(item.getItemId())
            {

            case R.id.Show_Note:

                 //AdapterView.AdapterContextMenuInfo info= (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();

                 Intent i=new Intent(this, ShowNote.class);
                    Cursor c = (Cursor) getListView().getItemAtPosition(position);
                    int item_id = c.getInt(0);
                    i.putExtra("item_id", item_id );
                    startActivity(i);

                break

它通过按任意列表项每次返回第一行值。请建议如何获得按下的行值。

我认为您必须将光标移动到指定位置。在从中获取数据之前

c.moveToPosition(position);
在代码中添加这一行,并让我知道发生了什么

您的代码类似于:

Intent i = new Intent(this, ShowNote.class);
Cursor c = (Cursor) getListView().getItemAtPosition(position);
c.moveToPosition(position); // This line need to be added here 
int item_id = c.getInt(0);
i.putExtra("item_id", item_id );
startActivity(i);
如何设置位置

为了获得列表视图中的位置,可以在项目选择方法的开头添加以下两行:

  public boolean onContextItemSelected(MenuItem item) {
        AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
        int position = info.position;

        switch(item.getItemId())
                {

                case R.id.Show_Note:

                     //AdapterView.AdapterContextMenuInfo info=
                     (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();

                     Intent i=new Intent(this, ShowNote.class);
                        Cursor c = (Cursor) getListView().getItemAtPosition(position);
                        int item_id = c.getInt(0);
                        i.putExtra("item_id", item_id );
                        startActivity(i);

                    break
    }

是的,谢谢…你也可以让我知道如何删除该行。因为我有数据库方法以及如何在上下文菜单中调用delete方法???谢谢,你能告诉我如何删除行吗???你有为你的数据库编写删除查询吗?嗨,谢谢,是的,完成了show note,但你能告诉我删除注释吗。如何使用关联菜单删除一行。