2012-04-03 10 views
3

私はカスタマイズされたCursorAdapterを作成し、リストアイテムを選択して、onOptionsItemSelectedでアクションを開始したいとします。onClickListener for CursorAdapter

リストビューの作成:

onOptionItemSelected
public void onCreate(Bundle savedInstanceState) { 
    Log.d(TAG, "onCreate called"); 
    super.onCreate(savedInstanceState); 

    Log.d(TAG, "create DatabaseOpenHelper"); 
    DatabaseOpenHandler helper = new DatabaseOpenHandler(this); 

    Log.d(TAG, "get writeable database access"); 
    database = helper.getWritableDatabase(); 

    Log.d(TAG, "create Cursor for database access"); 
    Cursor data = database.query(DatabaseConstants.TABLE_NOTES, fields, 
      null, null, null, null, null); 

    Log.d(TAG, "set NoteCursorAdapeter"); 
    setListAdapter(new NoteCursorAdapter(this, data)); 
} 

public boolean onOptionsItemSelected(MenuItem item) { 
    Log.d(TAG, "onOptionItemSelected called"); 
    switch (item.getItemId()) { 
    case R.id.conference_note_menu_new: 
     Toast.makeText(this, "Es sind keine Einstellungen verfügbar", 
       Toast.LENGTH_LONG).show(); 
     return true; 

    case R.id.conference_note_menu_edit: 
     Toast.makeText(this, "Es sind keine Einstellungen verfügbar", 
       Toast.LENGTH_LONG).show(); 
     return true; 

    case R.id.conference_note_menu_delete: 
     Toast.makeText(this, "Es sind keine Einstellungen verfügbar", 
       Toast.LENGTH_LONG).show(); 
     return true; 

    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

は、インターネット上の任意の有用な情報を見つけることができません。

答えて

2

ためのものですので、

public void onListItemClick(ListView parent, View v, int position, long id) { 
} 

onOptionItemSelectedは、メニューのためです。メニューを投入してから使用するように

 list.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 

      } 
     }); 
2

項目の下に次の行を使用してください:listerner:;

public boolean onOptionsItemSelected(MenuItem item) { 
} 

は、メニュー項目の選択

1

これは私のために動作しますが、このようなあなたのListViewのためonItemClickListener設定する必要が選択した項目でアクションを開始するコード。

0

利用OnLongClickListener():

getListView().setOnItemClickListener(this); 

と実装しています:

@Override 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
    // TODO Auto-generated method stub 
}