2011-01-06 4 views
0

내 활동에 버튼이 있습니다. 버튼을 클릭하면 if 문이 텍스트 레이블에 대해 실행되었습니다.안드로이드, 단순히보기 재설정에 관한 질문보기

if(BTN_1.getText()=="firsttext"){ 
    //do some stuff, then... 
    BTN_1.setText("secondtext"); 
}else if(BTN_1.getText()=="secondtext"){ 
    //do other stuff, then... 
    BTN_1.setText("firsttext"); 
} 

첫째, 내가 홈 버튼을 누르면 다시 내 응용 프로그램 위에 클릭 한 후 바탕 화면으로 돌아가서 경우 뷰 자체를 재설정있다; 단추의 텍스트가 "secondtext"인 상태에서 단추를 누르고 "firsttext"라고 말하면 내 응용 프로그램으로 돌아갈 때 어떻게 내 응용 프로그램의 화면을 멈추게 할 수 있습니까?

둘째, XML 레이아웃에서 버튼 텍스트를 정의했습니다. android : text = "firsttext" 하지만 실제로 위의 if 문과 일치하지 않습니다.이 앱의 onCreate 아래에 있습니다 : BTN_CONNECT.setText ("Connect"); 시각적으로 버튼의 텍스트가 정확히 동일하지만 왜 일치하지 않습니까?

감사합니다.

답변

4

어디서부터 시작해야합니까?

  • 문자열 비교는 이 아니라 ==이 아니어야합니다.
  • 문자열을 비교하여 상태를 확인하는 것은 좋지 않습니다. 정수/열거 형을 사용하여 상태를 관리하십시오.
  • 상태를 유지하려는 기간에 따라 Activity.saveInstanceState() (방향을 변경하면 계속 유지됨) 또는 영원히 지속되도록하려면 SharedPreferences에서 수행 할 수 있습니다.
  • android : text에 하드 코딩 된 문자열을 사용하지 말고 리소스를 사용하여 번역 할 수 있습니다.
  • 마지막 요점을 모르겠습니다.
+1

+1 "어디에서 시작해야합니까?" 그게 내가 내 대답을 시작하는 방법 이었어. – Falmarri

+0

+1을 제외하고 일반적으로. 문자열 비교를 위해 같음을 원합니까? –

+0

미안 Mayra, 당신은 절대적으로 정확합니다. 그걸 편집하겠습니다. – EboMike

관련 문제