2013-03-15 1 views
1

"ok_button"을 눌러이 대화 상자를 닫은 후에 텍스트보기에서 텍스트를 변경하려고합니다. 그러나 나는 그것을 반복하고 싶었다. 나는 "alleroclosed"를 부울로 설정하고 false로 초기화했습니다. 나는 "alleroclosed"는 "ok_button"루프가 시작되지 않거나 내 부울 변수를 고려하지 않습니다를 누른 후자바를 처음 사용하여 대화 상자를 닫은 후 루프가 실행되지 않는 경우 Java/Android

{ 
     Button ok_button = (Button) dialog.findViewById(R.id.Ok_button); 
     ok_button.setOnClickListener(
     new OnClickListener() 
     { 
       @Override 
       public void onClick(View v) 
      { 
        alleroclosed=true; 
           dialog.dismiss(); 
       } 
      }); 

     if(alleroclosed) 
    { 
      alleroclosed=false; 
      alleroSTATUS.setText("it works"); 
    } 
} 

======== 그것은 문자열을 "변경되지 않습니다 작동 "

당신이 어떤 식 으로든 나를 도울 수 있다면 정말 고마워. 나는 이것에 참된 초심자이다. 감사!

답변

0

나는 그 문제는 당신이 onClick() 방법의

if (alleroclosed) { 
    alleroclosed=false; 
    alleroSTATUS.setText("it works"); 
} 

외부를 호출하고,이 이유로는 결코 적용되지 있다고 생각합니다.

코드 블록은 onCreate() 메서드에 직접 배치되며 click 이벤트가 catch되면이 메서드는 호출되지 않으므로 onCreate()가 alleroclosed = false로 호출 될 때 한 번만 적용됩니다.

onClick() 방법 안에 넣으면 작동합니다.

... 
public void onClick(View v) { 
    alleroclosed = true; 
    dialog.dismiss(); 
    if (alleroclosed) { 
     alleroclosed=false; 
     alleroSTATUS.setText("it works"); 
    } 
... 

}

+0

와우 너희들 정말 고마워! –

+0

@AlexTarnawski 당신은 환영합니다 :), 당신은 내 asnwer를 받아 들일 수 있습니까? 감사. – Sajmon

0

부울은 확인 버튼을 클릭 한 경우에만 true로 설정됩니다. if 블록은 사용자가 리스너를 만들고 등록한 직후에 실행됩니다.

확인 단추를 클릭 할 때이 코드를 실행하려면 if vlock의 내용이 청취자의 onClick() 메서드에 있어야합니다.

0

당신이 onclick을 작성해야합니다 버튼 클릭 통화 할 위의 코드() 메서드 ... 에서 수행 할 작업을 사용자가 클릭하면 대화 상자가 닫힌 후 경우 당신의 버튼 ... 그렇게 간단하게 다음 링크의 onclick을 사용하는 방법을 논의

public void onClick(View v) { 
dialog.dismiss(); 
if (somecondition) { 
    // task you want to do... 
} 
} 

아래로 온 클릭()을 만드는() How to handle a button being clicked in Android? 는 희망 작품 ...

관련 문제