2012-04-08 2 views
0

사용자가 팝업 내에서 popbtnnext를 클릭하면 프로그램에서 나머지 flaggedwordsused가 null인지 확인합니다. 그렇지 않으면 버튼이 보이도록 설정되고 프로그램이 계속 실행됩니다. 값이 null의 경우, 프로그램은 버튼을 불가 시해 지도록 (듯이) 갱신합니다. 문자열 "매우"점유하는 소자 0 인 0에서 시작하고 다른 모든 값은 널 (NULL) 내에서 테스트 케이스 f를 flagwordsused 팝업 내에서 버튼의 가시성을 업데이트하는 데 문제가 있음

popbutnext.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
     f++; 
     for (int g= f+1; g<flagwordsused.length; g++) { 
       if (flagwordsused[g] != null) { 
       popbutnext.setVisibility(0); 
       break; 
       } 
       else{ 
        poptv1.setText(""+f); 
        popbutnext.setVisibility(1); 
       } 
      } 
    } 
    }); 

20 개 요소들의 어레이이다. 나는 프로그램이 else 문을 얻고 있음을 알기 위해 f 값으로 textView를 업데이트했다. 그 값은 잘 업데이트되고 있지만 버튼의 가시성은 절대로 바뀌지 않습니다. 네가 나에게 줄 수있는 어떤 도움이라도 인정 될 것이다. Popuplayout은 xml이 아닌 java에서 만들어져 차이가 있습니다.

답변

0

대신 가시성을 설정하려면보기에서 상수를 사용해야합니다.

popbutnext.setVisibility(View.GONE); 

이 popbutnext 볼 수 있도록 : 레이아웃을 구축 어떤 공간을

popbutnext.setVisibility(View.INVISIBLE); 

이 popbutnext 보이지 않게하려면하지 :

보이지 않는 popbutnext하려면 : 코드를 쉽게도 읽을 수 있습니다 :

popbutnext.setVisibility(View.VISIBLE); 

왜 값이 틀렸어. Invisible은 4이고, 8은 사라지고, visible은 0입니다. 그러나 View 클래스에서 상수를 사용하는 것이 좋습니다. 안드로이드 버전에서 변경 될 수도 있습니다. this 링크 및 가시성 매개 변수를 확인하십시오.

+0

감사합니다. 그것은 효과가 있었다. 왜 내 방식대로 작동하지 않았습니까? 나는 이것이 코드를 더 읽기 쉽게 만든다는 것에 동의한다. – ghodnett

+0

내 대답이 업데이트되었습니다. –

+0

오케이. 나는 보이지 않는 것에 대한 가치가 1이고 사라진 것에 대한 문서를 발견했다. 당신이 맞다. 이것이 더 좋은 방법이다. 고맙습니다. – ghodnett

관련 문제