2012-05-03 7 views
0

にカーソルから選んでどのようにして、適切な要素がときに、カーソルから取り出されるかアンドロイド:適切な要素がCursorAdapterのnewView()メソッド

newView(コンテキストコンテキスト、カーソルcursor、のViewGroupの親)方法を疑問に思います対応するCursorAdapterオブジェクトのそれはArrayAdapterのとは違って位置を指定するパラメータを指定しませんと呼ばれている:

getViewメソッド(int型の位置、表示convertView、のViewGroupの親) meathod:

は、データPICですつまり、newView()メソッドが呼び出されたときにCursorで正しい行が指し示されていることを伝えるのはプロマーの責任ですか?

答えて

1

カーソルベースのアダプタが実装さgetViewメソッドを持っており、この実装では、データを表示し、セットアップを構築する方法newView()bindView()を呼び出しますの後に(getViewメソッドのpositionパラメーターを使用して)カーソルを正しい位置に設定します。

既にgetView方法でその位置に設定されるので、そこでCursorパラメータは、方法newViewbindViewに正しい行を指すであろう。

+0

おかげで、あなたはちょうど私が知りたいと答えた。それは、私が知っていることは、地獄がそのこと(Cursorが適切な行を指している)が世話をしていることを知りたかったことです。次回は、そのような質問をする前に、ドキュメントとソースコードを深く掘り下げます –

0

必要に応じてカーソルを形成します。つまり、クエリを実行するとその中に何らかの条件を入れると、それに従ってカーソルが返されます。

0

カーソルアダプタのリストの現在の表示位置は必要ありません。 原因CursorAdapterは自動的に位置を移動します。しかし、あなたはSTIL行番号を取得したい場合は、次の方法で行うことができます。

cursor.getPosition(); 
+0

CursorAdapterによってCursorにバインドされているListViewの15番目の行が移入され、自動的に15番目の行のデータがgetString()によって返されるとしますか? newView()メソッドの内部で呼び出されますか? –

+0

はい、newViewの代わりに、bindViewを使用してカーソルからアイテムをポップアップします。 – jeet

関連する問題