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