2011-08-14 17 views
0

私はCursorにあるListViewにあるデータにアクセスしようとしています。ただし、SetItemClickListenerのパラメータlong idは常に0です。Android ListActivity ListView setOnItemClickListener

位置を使用せずに(私のCursorがデータベースを直接表すわけではないので、それはクエリです)、どのようにすることができますか?

+0

カーソルで他にアクセスしたいことはありますか?そのカーソルにはクエリのデータは含まれていません。 –

+0

リストビューの現在選択されている行から情報を読みたい –

答えて

0

あなたはデータベースで作業していることを読んでいます。表示する内容で作成したカスタムアダプタでListViewを埋めているとします。返すデータで各カスタム行を表す対応するXMLがあります。

私は、クリックされた要素のIDを返すことに似た何かに直面しました。行のXMLにあったのは、不可視のTextViewを追加したものです。

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="0dip" 
    android:id="@+id/post_Id" 
    android:visibility="gone" 
/> 

、その後、私は次の操作を実行し、クリックイベントに、その値にアクセス:

protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 
    int id = Integer.valueOf(((TextView)v.findViewById(R.id.post_Id)).getText().toString()); 
    // THE REST OF THE CODE GOES HERE 
} 

・ホープ、このことができます!

+0

ええ、それはうまくいくはずですが、これを行う標準的な方法はありませんか? –

関連する問題