0

有兩個錯誤,我都不知道爲什麼。如何檢索此片段中的歌曲列表?

  1. 無法解析法 「getContentResolver()

2.Cannot推斷(在new ArrayAdapter<>())參數。

我希望這是從fragment獲取歌曲列表的正確方法?如果有更好的選擇,請解釋一下。謝謝

+0

你會不會downvote它嗎?只是發表評論告訴我爲什麼你想這樣做?你有什麼想法讓一個相對較新的用戶在堆棧上等待8天才能提出另一個問題,因爲一羣超級用戶喜歡downvoting是多麼的令人沮喪? –

+0

當您使用片段時,您需要使用getActivtiy()方法來使用Activity事物。所以,只需將getActivtiy(在getContentResolver之前) –

+0

並用getActivity()替換'this' –

回答

1

在其中擴展Fragment Context類是不可用得到它需要使用getActivity()方法。

無法解析法 「getContentResolver()」

因爲getContentResolver方法不可用在Fragment類,需要用戶上下文訪問它:

final Cursor audioCursor = getActivity().getContentResolver().query(
           MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
           proj, null, null, null); 

2。無法推斷參數(在新的ArrayAdapter <>())上。

因爲ArrayAdapter構造需要有效Context爲第一個參數:

ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), 
             android.R.layout.simple_list_item_1, 
             android.R.id.text1, audioList);