2011-09-16 21 views
1

私はAndroidには初めてのprittyで、少し質問があります。 ContextMenuに問題があります。私は私のデータベースエントリでListViewを埋めましたが、今私は、私はそれをContextMenuがポップアップし、私が削除したい、または私のdatabaseentriesを編集する:longclick場合は杖が しかし、私はどのようなentrieそれを見つけることができませんです。事前に助けのためSimpleCursorAdapterからContextMenuへの情報を取得する方法

ここに私のコードです。..

package de.retowaelchli.filterit.stats; 




    import de.retowaelchli.filterit.R; 
    import de.retowaelchli.filterit.database.ADFilterDBAdapter; 
    import android.app.ListActivity; 
    import android.database.Cursor; 
    import android.os.Bundle; 
    import android.view.ContextMenu; 
    import android.view.ContextMenu.ContextMenuInfo; 
    import android.view.MenuItem; 
    import android.view.View; 
    import android.widget.AdapterView; 
    import android.widget.SimpleCursorAdapter; 

    public class CreatedADFilters extends ListActivity { 

     //Variablen deklaration 
     private ADFilterDBAdapter mDbHelper; 

     public void onCreate(Bundle icicle) { 
      super.onCreate(icicle); 

      //Kontext-Menu registrieren 
      registerForContextMenu(findViewById(R.layout.list_layout)); 

      //Hier wir die Datenbank aufgerufen 
      mDbHelper = new ADFilterDBAdapter(this); 
      mDbHelper.open(); 
      fillData(); 

     } 

     private void fillData() { 

      // Get all of the notes from the database and create the item list 
      Cursor c = mDbHelper.getAllADFilter(); 
      startManagingCursor(c); 

      String[] from = new String[] { ADFilterDBAdapter.NAME, ADFilterDBAdapter.ROW_ID }; 
      int[] to = new int[] { R.id.label }; 

      // Now create an array adapter and set it to display using our row 
      SimpleCursorAdapter adname = 
       new SimpleCursorAdapter(this, R.layout.list_layout, c, from, to); 
      setListAdapter(adname); 

      mDbHelper.close(); 
     } 


     //ContextMenu erstellen und definieren 
     public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
      if (v.getId() == R.layout.list_layout) { 
       getMenuInflater().inflate(R.menu.createdadmenu, menu); 
      } 
      super.onCreateContextMenu(menu, v, menuInfo); 
     } 

     public boolean onContextItemSelected(MenuItem item) { 

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

      switch (item.getItemId()) { 
       case R.id.delete_adfilter: { 
        deleteAD(); 
        return true; 
       } 
       case R.id.edit_adfilter:{ 
        editAD(); 
        return true; 
      } 
      return super.onContextItemSelected(item); 
     } 
     } 

// THIS IS THE PART I DONT KNOW HOW TO REALIZE 
     private void deleteAD(){ 
     } 

     private void editAD(){ 
     } 
    } 

Thxを! onContextItemSelected()

よろしく

サファリ

答えて

1

あなたinfoローカル変数は、あなたのCursorから_ID値が含まれているidデータメンバを持っています。 を使用して、ListViewコンテキストメニューに基づいてアイテムを削除する方法を示しています。

+0

Thxあなた、今すぐGithub niceプロジェクトサンプルをフォローしています! THXあなたの助けに! – safari

関連する問題