저는 미디어 플레이어를 만들고 있습니다. 사용자 지정 어댑터를 사용하여 listview가있는 재생 목록이 있습니다. 이 목록보기의 항목에는 2 개의 필드가 있습니다. 나는 (서비스에서) 현재 재생중인 노래에 대해서만 이미지 (재생)를 볼 수있게하려고합니다. 또한 재생 목록 활동이 열려있는 동안에도 노래가 변경 될 때마다 동적으로 변경되어야합니다. 답변으로 이동android의 listview 중 하나를 강조 표시합니다.
0
A
답변
0
...
예, sufiyan는 접근에 대한 권리입니다. 추가해야 할 것은 노래가 변경되면 어댑터에서 notifyDataSetChanged를 호출하여 선택 사항 변경을 표시하기 위해보기를 다시 그리게 할 수 있다는 것입니다.
ListView를 그리는 데 드는 최대 비용은 새 항목보기를 구성하는 것이지만 어댑터의 getView가 'convertView'매개 변수를 사용하면 해당 비용을 절약 할 수 있습니다. 활동을 알리기 위해 귀하의 서비스에서 방송을 보내는 것이 좋습니다. 귀하의 활동에서 onResume에 수신자를 등록하고 onPause에서 수신자를 등록 취소하십시오. 그런 다음 onResume에서 활동을 일시 중지하는 동안 노래가 변경된 경우를 대비하여
+0
감사합니다 .Cha처럼 작동합니다. rm! –
사용자 정의 'ListAdapter'를 수정하고 getView 메소드를 재정 의하여 현재보기의 위치를 얻은 다음 배경색을 변경하십시오. 'view.setBackgroundColor' 사용하기 –
예, sufiyan이 접근법에 대해 옳았습니다. 노래를 바꿀 때 어댑터에서 notifyDataSetChanged를 호출하여 선택 사항 변경을 보여주기 위해보기를 다시 그리게 할 수 있다는 점이 추가되었습니다. – Bruce
하지만 하나의 노래를 강조하기 위해 많은 노래가있는 경우 프로세서 집약적이지 않습니까? 또한 노래 변경이 서비스에서 일어나고 이것이 활성화 된 것이므로 서비스에서 어떻게 부를 수 있습니까? 활동이 활성화되지 않은 경우 어떻게 되나요? @Bruce –