2016-07-27 2 views
-1

저는 최근 2 일 이래로 일하고있는 Android Studio에서 Java 기반 코드를 작성하는 데 어려움을 겪고 있습니다. 불행히도, 나는 stackoverflow 또는 다른 포럼에서 내 문제에 대한 해결책을 찾을 수 없습니다 ..강조 표시 단추 on 문을 클릭하십시오.

나는 버튼 텍스트가 문자열이나 문자열의 text1 또는 text2 여부에 따라 빨간색 또는 녹색을 클릭하면 강조하려고합니다. 정렬.

응용 프로그램을 실행하면 항상 오류가 표시되거나 단추를 눌렀을 때 단추의 색상이 변경되지 않습니다. 나는 이것이 if 절과 관련이 있다고 생각하지만,이 문제를 다른 방법으로 해결하는 방법을 모른다.

이 문제에 대해 정말 감사드립니다.

Button button1; 
Button button2; 

String[] txtString;    
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.first_layout); 

    txtString = getResources().getStringArray(R.array.optiontxt); 
    String random = txtString[new random().nextInt(txtString.length)]; 


    button1 = (Button)findViewById(R.id.btn1); 
    button2 = (Button)findViewById(R.id.btn2); 


    if (random == txtString[0]) 
    { 
     button1.setText(txtString[0]); 
     button1.setBackgroundResource(R.drawable.button_green); 
     button2.setText(txtString[1]); 
     button2.setBackgroundResource(R.drawable.button_red); 

    } 
    else 
    { 
     button1.setText(txtString[1]); 
     button1.setBackgroundResource(R.drawable.button_red); 
     button2.setText(txtString[0]); 
     button2.setBackgroundResource(R.drawable.button_green); 
    }  button1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) {}}; button2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) {}}; 

: 빨간 버튼

<item 
    android:state_pressed="true" 
    android:drawable="#FF4081"/> 
    <item 
    android:state_selected="true" 
    android:drawable="#d50000"/> 

자바 코드에 대한 녹색 버튼

XML 코드

<item 
    android:state_pressed="true" 
    android:drawable="#81c784"/> 
<item 
    android:state_selected="true" 
    android:drawable="@color/#4caf50"/> 

XML 코드 나는 또한 잘 작동하지 않은 버튼의 배경을 설정하기 위해 다른 코드를 변경했다.

button1.setBackground (Drawable.createFromPath ("/ drawable/button_green"))); .

또는

button1.getBackground()와 setState (새 INT [] R.drawable.button_green {});

또는

button1.setBackgroundResource (R.drawable.button_green);

어떤 도움을 주셔서 감사합니다. 미리 감사드립니다.

답변

0

onCreate 메서드에서 button1.setsetBackgroundResource를 호출하려고 했습니까?

+0

예, 이미 시도했지만 작동하지 않았습니다. 나는 그것이 if-statement 때문이라고 생각합니다. – LoveCoding