2014-02-10 6 views
0

나는 플레이어가 경기를 몇 번이나했는지 사용자에게 알릴 필요가있는 앱을 개발 중입니다.
플레이어 이름이 포함 된 ListView를 사용하고 있습니다.
플레이어를 한 번 선택하면 녹색으로 바뀝니다.
플레이어가 두 번 선택되면 노란색으로 바뀌며 계속 켜져 있습니다.
첫 번째 클릭이 정상적으로 작동하면 녹색으로 바뀝니다.
그러나 두 번째 클릭하면 아무 일도 발생하지 않습니다.
누구나 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?안드로이드리스트 뷰 색상 변경

감사합니다. 당신이 다음 단지 첫 번째 목록 값의 텍스트를 변경하지 아니합니다 if(pos == 1) 같은 조건을 사용하는 경우 코드는, 동적이지, 난 당신이 몇 가지 실수를 생각

if (pos == 1){ 
       text1.setBackgroundColor(Color.GREEN); 

       if(numberOfClicks ==2){ 
        text1.setBackgroundColor(Color.YELLOW); 
       }else if(numberOfClicks == 3){ 
        text1.setBackgroundColor(Color.RED); 
       } 
      } 
+2

코드에서 'numberOfClicks' 값을 변경하는 곳은 무엇입니까? –

+1

당신은'numberOfClicks' 값을 적절하게 증가시키고 있습니까? 이것은'onClick()'내에서 이루어져야한다. – SMR

+0

텍스트 배경을 변경하려면 클릭 수 대신 정확한 값을 입력해야합니다. –

답변

0

:

은 내가 사용하고 코드입니다 다른 것들은 기본적으로 더 많은 내용을 추가 할 때 더 어려울 것이므로 루프를 사용하여 값의 위치를 ​​찾은 다음 목록 항목의 색상을 변경하십시오.

두 번째 것은 어떤 변수를 변경할 때마다 numberOfClicks 때마다 버튼을 클릭 한 횟수를 확인해야 할 때마다 가장 좋은 방법은 값을 증가시키는 플래그 정수 변수를 사용하는 것입니다 클릭 할 때마다 클릭 수와 색상 수를 계산합니다.

+0

답변 해 주셔서 감사합니다. 그러나 처음에는 루프를 사용하려고했지만 원하는대로 작동하지 않았습니다. 하나의 이름을 클릭하면 녹색으로 바뀌지 만 다른 이름을 클릭하면 녹색으로 변하기보다는 노란색으로 바뀝니다. 그러나이 말은 내가 입장을 밝힐 때 아직도 일어나고 있습니다. 이 문제에 대해 다른 방법을 제안 해 주시겠습니까? 아니면 내가 루프를 해야하는 방법의 예일까? 나는 그것을 잘못하고 있을지도 모른다! 감사. – user3275801

+0

어댑터 클래스를 사용하고 있습니까 ??? – InnocentKiller

+0

다음 간단한'text1.setBackgroundColor (Color.GREEN);'이 줄을 onItemClick을 넣는 대신 onCreate 안에 넣고 나머지는 동일합니다. 이거 한번 해봐. – InnocentKiller