2017-03-06 5 views
0

はSqliteをクエリで吸引しなさい、ここに私の質問は、「Artist1」アンドロイドのContentProviderのクエリ条件の問題

String[] projection={MediaStore.Audio.Artists._ID,MediaStore.Audio.Artists.ARTIST}; 
String selectionClause=MediaStore.Audio.Artists.ARTIST+" = ?"; 
String[] selectionArgs={"Artist1","Artist2"}; 

のみの文字列に一致する結果を取り戻すしたい、一例としてMediaStore.Audio.Artist.Artistを取る、で​​、 「Artist2」ですが、以下のようなエラーが表示されます。

どうすればいいですか?

答えて

0

以下おかげEmanueとCL、そのアイデアのベースは、あなたが見ることができるように、ここにあなたが使用する必要があります

MediaStore.Audio.Artists.ARTIST+" = ? OR " + MediaStore.Audio.Artists.ARTIST+" = ?"; 

、ソリューションである「OR」照会された結果がselectionArgsと一致する場合は、「AND」ではなく「AND」ではなく PS。 selectionArgs項目の数はselectionClauseの数と同じでなければなりません。

もう一度ありがとうございます!

0

あなたには '?'あなたが引数に持つように、節のパラメータで。 この場合、それはのようになります。

MediaStore.Audio.Artists.ARTIST+" = ? AND " + MediaStore.Audio.Artists.ARTIST+" = ?"; 
+0

お返事ありがとうございますが、残念なことにあなたに答えて、cursoradapterは呼び出されません、なぜいいですか? – Leon

+0

「呼び出されていない」という意味はわかりません。あなたのクエリが有効な結果を返すようにして、それを段階的にデバッグしてください –

+0

申し訳ありませんが、私の表現はあまり明確ではありませんが、私の考えは、CursorAdapterのメソッドbindViewは実行されません。私はバインドビューでLog.eコマンドを設定し、Log.eを見つけませんでした。 – Leon