2012-01-27 6 views
0

次のコードスニペットがあります。私は上記のコードにこのコードSimpleCursorAdapterでonitemクリックリスナーを実装する方法

public void onItemClick(AdapterView parentView, View v, 
       int position, long id) {} 

を追加するにはどうすればよい

public class ImageStoreActivity extends ListActivity { 
private DBHelper mDB; 

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

    mDB = new DBHelper(this); 

    mDB.Reset(); 

    Bitmap img = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); 

    mDB.createItemEntry(new ListObject(img, "x", "999999", "blah")); 
    mDB.createItemEntry(new ListObject(img, "y",  "56789", "blah blah")); 
    mDB.createItemEntry(new ListObject(img, "Pfirsich", "4112344", "blaflakf")); 
    mDB.createItemEntry(new ListObject(img, "Zitrone", "4023232", "511131")); 

    String[] columns = {mDB.KEY_ID, mDB.KEY_IMG, mDB.KEY_NAME, mDB.KEY_PHONE, mDB.KEY_RELATION}; 
    String table = mDB.RELATION_TABLE; 

    Cursor c = mDB.getHandle().query(table, columns, null, null, null, null, null); 

    startManagingCursor(c); 

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
      R.layout.main, 
      c, 
      new String[] {mDB.KEY_IMG, mDB.KEY_NAME, mDB.KEY_PHONE, mDB.KEY_RELATION}, 
      new int[] {R.id.img, R.id.txt, R.id.textview,R.id.textview1}); 

    adapter.setViewBinder(new ItemViewBinder()); 
    setListAdapter(adapter); 
    } 
} 

。助けてください

答えて

2

setListAdapter(アダプター)の後にこのコードを追加します。

final ListView lv = getListView(); 
lv.setTextFilterEnabled(true); 
lv.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {      
    // add the array list here..  
    }   
}); 
+0

well..Iは私のXMLには、リストビューを持っていません。私は行(R.layout.main)をXMLコンテンツとして持っています。上記のコードは、親XMLの権利で定義されたリストビューがある場合にのみ機能します。それは私の問題 – user1002448

+0

、なぜ、あなたのコードでListActivity()を使用する理由、私はこのコードを使用する理由です。 –

+0

simplecursordapterのデータはリストビューにバインドされます。だから我々はここでlistactivityを使用しなければならない – user1002448

0

オーバーライドこのようなonListItemClick()メソッド、

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 
     // Do something here 
     ... 
} 
関連する問題