1

こんにちは、この質問に本当に感銘を受けました。私はAndroidの世界では初めてです。データベースからの情報(ID、名前、説明)を表示するリストがあります。クリックアンドホールド操作で、選択した行をデータベースから削除したい。すでにコンテキストメニューを実装しましたが、データベースからIDを取得していませんが、位置を返します(0、dbからのIDは1)。thanx

私はそれを手に入れたと思います:)

public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, view, menuInfo);
    TextView ids = (TextView)findViewById(R.layout.list_row);
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
    int position = info.position;
    int foldeiId=(Integer) adapter.getItem(position);
    String fd = String.valueOf(view.getId());
    // Log.w("Data id arunmr: ", foldeiId);
    System.out.println(foldeiId);
    menu.setHeaderTitle("Options");
    menu.add(0, NEW_MENU_ITEM, foldeiId, "Delete");
    menu.add(0, SAVE_MENU_ITEM, foldeiId, "Rename");
}

しかし、コンテキストメニューから前述の「foldeiId」にアクセスする方法はありますか?

4

1 に答える 1

0

これを試してくださいoncreate()メソッドの外部でその変数を宣言すると、foldeiIdを取得できます

@Override  
public boolean onContextItemSelected(MenuItem item) {  
    if(item.getTitle()=="Delete"){
        // delete the item you want to delete
}  
else if(item.getTitle()=="Rename"){
      // rename the item you want to 
}  
else {return false;}  
return true;  
}  
于 2012-09-30T06:16:04.073 に答える