2015-01-15 2 views
0

나는 종류의 새로운 안드로이드 및 눌렀 때 Button의 배경색을 변경하려면이 코드를 사용하고 있어요 :설정 버튼 배경 색상 - 안드로이드

but3.setBackgroundColor(Color.GREEN); 

를하지만 그 방법을 유지하지 않습니다 클릭 후 원래 색으로 되돌아갑니다. 나는 그것을 다시 바꾸고 싶다. 도와주세요. 여기에 더 많은 코드가 있습니다.

but3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v){ Button answerButton = ((Button) v); String answer = answerButton.getText().toString(); if(currentQ.getANSWER().equals(answerButton.getText())) { score++; Log.d("score", "Your score"+score); but3.setBackgroundColor(Color.GREEN); but3.invalidate(); } if(qid<20){ currentQ=quesList1.get(qid); setQuestionView(); } else{
Intent intent = new Intent(ScratchActivity1.this, ResultActivity.class); Bundle b = new Bundle(); b.putInt("score", score); intent.putExtras(b); startActivity(intent); overridePendingTransition(R.anim.activity_in, R.anim.activity_out); finish(); }

+0

. 자세한 내용을 게시하십시오. – localhost

+0

자세한 내용은 위의 내용을 참조하십시오. 사용자에게 알리기 위해 특정 색상으로 순간적으로 변경하려면 옳은 답변 (퀴즈 앱) 버튼을 원합니다. 잘못된 대답도 마찬가지입니다. –

답변

0

버튼을 누르거나 (버튼이 등을 선택, 집중, 눌렀을 때 상태가되는) 당신은 상태에 따라 사용자 정의 배경을 만들 수있는 방법을 확인하기 위해 here을 확인에 초점이 맞춰지면 배경을 변경하려면 .

그냥 통과 시간 후 배경을 변경하려면

는 핸들러를 사용에 참조 : 그것은 당신이 다시 변경하려는 경우에 따라

final Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
    //This will run after 1000 (defined below) milliseconds has passed 
    } 
}, 1000); 
+0

핸들러는 문제를 해결하는 데 유용했습니다. 다음 코드를 사용하여 버튼 배경을 변경했습니다. 'but3.setBackgroundColor (Color.GREEN);'그리고 나서 핸들러의 run() 메소드에서 버튼의 원래 색상을 배경으로 설정합니다. 'but3.setBackgroundColor (Color.BLACK);'문제는 제대로 작동하려면 원래 버튼 배경을 Black으로 설정해야한다는 것입니다. 다른 색상은 이상한 결과를주었습니다. 어쩌면 누군가가이 문제에 대한 해답을 갖고있을 수도 있습니다. –