2017-12-25 28 views
0

どのようにしてCOntentResolverからメディアタイトルを取得できますか?私は試みたが、それは動作しない、私は私のlistViewにメディアのタイトルを表示したい。リストビューにメディアタイトルを表示する方法は?

Cursor cursor = getContentResolver().query(uri, null, null, null, null); 
if (cursor != null) { 
     int ind = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE); 
     do { 
     String T = cursor.getString(ind); 
     abcl.add(T); 
     Log.i("SOngName", T); 
     } while (cursor.moveToNext()); 
    } 

が、これは私にIndexOutOfBondsExceptionsの誤差を与え、私のエラーlogcatはよく

please any one guide , thanks

+0

MediaStore.Audio.Media.TITLEは、問合せ対象のContentProviderを持つ列として存在しません。 – ReverseEffect

+0

私は理解してくれますか、もう少し私を導くことができます、これは私のデバイスのストレージにすべてのビデオタイトルを表示するためですか? – Saif

+0

MediaStore.MediaColumns.TITLEは必要なものを手に入れますか? – ReverseEffect

答えて

0

あなたはアンドロイドにカーソルのドキュメントのために行く必要があるすべての最初のです。それはカーソルを使用した後にnullチェックではないことをあなたに伝えます。入力結果セットの最初の行の先頭にカーソルを移動する必要があります。

Cursor cursor = getContentResolver().query(uri, null, null, null, null); 
if (cursor != null) { 
if(cursor.MoveToFirst()){ 
     int ind = cursor.getColumnIndex(MediaStore.Audio.Media.TITLE); 
     do { 
     String T = cursor.getString(ind); 
     abcl.add(T); 
     Log.i("SOngName", T); 
     } while (cursor.moveToNext()); 
    } 
} 
関連する問題