0
我有一個鏈接到媒體文件的列表視圖,它工作正常,但沒有mediacontroller,應用mediacontroller後,我無法從列表中選擇另一個項目mediacontroller的外觀,我只能滾動列表視圖,但我不能選擇任何項目。我如何在Mediacontroller的外觀期間使列表視圖可選?Android MediaController - 無法點擊項目
注意:它在mediacontroller隱藏時工作。注意2:播放媒體文件的過程中一直顯示媒體控制器。
感謝
[編輯]
這裏是我的佈局代碼,請參閱返回按鈕(該按鈕爲可點擊),但項目的名單是不是...
.....
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/main_audio_player"
android:orientation="horizontal"
></LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="100dp"
>
<Button
android:layout_width="150dp"
android:layout_height="50dp"
android:text="Return"
android:id="@+id/btnReturn"
android:clickable="true"
android:layout_marginTop="10dp"
>
</Button>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/lvPlaylist"
android:alpha="0.3">
</ListView>
</LinearLayout>
</LinearLayout>
</LinearLayout>
.....
[編輯2]
這裏是我的onPrepared功能
public void onPrepared(MediaPlayer mediaPlayer) {
try {
mediaController.setMediaPlayer(this);
mediaController.setAnchorView(findViewById(R.id.main_audio_player));
handler.post(new Runnable() {
public void run() {
mediaController.setEnabled(true);
mediaController.show();
}
});
}
catch (Exception mediaError)
{
Toast error = Toast.makeText(getApplicationContext(),"Media player error!",1000);
error.show();
}
}
和這裏是我的播放聲音功能......
public void PlayAudioFile(String filename){
if(!emptyList){
if(IsPlayed)
{
mediaPlayer.stop();
mediaPlayer.release();
}
Integer fileIndex =0;
if(filename != ""){
fileIndex = myPlaylist.GetIndexByFilename(filename);
}
mediaPlayer = new MediaPlayer();
if(myPlaylist.GetNumberOfItems()>0)
{
try {
audioFile = myPlaylist.GetItemWithPathInPlaylistByPositionId(fileIndex);
audioName = myPlaylist.GetItemInPlaylistByPositionId(fileIndex);
((TextView)findViewById(R.id.now_playing_text)).setText(audioName);
mediaPlayer.setOnPreparedListener(this);
mediaController = new MediaController(this);
}
catch (Exception errorPlayer){
}
try {
mediaPlayer.setDataSource(audioFile);
mediaPlayer.prepare();
mediaPlayer.start();
IsPlayed = true;
} catch (IOException e) {
}
}
}
}
我希望這是足以讓你給我一些建議,做什麼:)
這種方法被包含在同一視圖中ListView的,你傳遞給setAnchorView? – Dave
@Dave:是的,我的ListView包含在我的播放器所在的視圖中。 – Mahuna
您是否可以使用用於創建和設置MediaController的代碼更新問題? MediaController將創建一個單獨的窗口,我相信它覆蓋了您的ListView而不是按鈕。不過,我無法確定如何在不查看代碼的情況下修復它。 – Dave