2014-01-24 6 views
0

활동을 새로 고치는 방법이 궁금합니다. 다시 시작하지 말고 새로 고침하십시오. 무슨 일이 일어나고 버튼이 켜지 며 클릭 한 후 5 초간 기다렸다가 버튼을 리셋하고 다른 하나의 불이 켜지면 다른 버튼이 켜지지 않는 것입니다. 같은 버튼. 이 코드에 문제가 있는지, 아니면 새로 고침을 호출하지 않는지 등을 알 수 없습니다. 모든 도움이 좋습니다! 감사.Android - 활동 새로 고침

private Runnable task = new Runnable() { 
    public void run() { 
     ResetButtons(); 
     int rnd = new Random().nextInt(buttons.length); 
     i = rnd; 
     buttons[i].getBackground().setColorFilter(Color.YELLOW, PorterDuff.Mode.MULTIPLY); 
    } 
}; 
+0

많은 것을 이해하지 못합니다. 그러나 특정 동작 후에 버튼의 색상이나 배경을 변경하고 싶습니까? –

+0

UI를 새로 고치려면 runOnUiThread를 사용하십시오. – Hulk

+0

'View.invalidate()'를 사용하여 뷰를 강제로 다시 그릴 수 있습니다. –

답변

0

이 시도 :

if(selected == target) { 
    Toast.makeText(getApplicationContext(), "Good job!", Toast.LENGTH_SHORT).show(); 
    view.getBackground().setColorFilter(Color.GREEN, PorterDuff.Mode.MULTIPLY); 
    } else { 
     Toast.makeText(getApplicationContext(), "Wrong!", Toast.LENGTH_SHORT).show(); 
     view.getBackground().setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY); 
    } 
h.postDelayed(task, millisDelay); 

는 내 작업이이

public void onClick (View v){ 
    Intent intent = getIntent(); 
    finish(); 
    startActivity(intent); 
} 

(OR)이 내가에서 돌아 변경 한 후 활동을 다시로드 할 것입니다

환경 설정 변경.

@Override 
protected void onResume() { 

    super.onResume(); 
    this.onCreate(null); 
} 

이것은 본질적으로 활동 자체를 다시 그립니다.

+0

전체 활동을 다시 시작하지 않고 어떻게합니까? 페이지가 닫히고 다시 열리는 대신 원활하게 업데이트되도록 UI를 업데이트 하시겠습니까? – Tyson

+0

UI를 업데이트하기 위해 'View.invalidate()'를 사용하십시오. –

+0

push.video.video.video.window.video.video.video.video.video.Authorate()는 푸시 될 때만 버튼을 업데이트하며, 다른 색상을 자동으로 변경하도록 밀어 넣으면 업데이트해야합니다. ASync를 사용해야한다고 생각하지만 어디서부터 시작해야할지 모르겠습니다. – Tyson