2016-08-31 3 views
0

4 개의 TextView가 있고 사용자는 한 번에 하나씩 만 선택할 수 있습니다. 선택한 textView의 배경색을 변경하고 싶습니다. 사용자가 다른 텍스트 뷰를 선택하면 이전에 선택한 textView가 비활성화되어야합니다. 나는 텍스트 뷰에 대해 별도의 XML을 생성 한TextView 배경색 활성화 및 비활성화

<TextView 
       android:id="@+id/goalText2" 
       android:layout_width="match_parent" 
       android:layout_height="70dp" 
       android:background="@drawable/white_border_rounded" 
       android:padding="4dp" 
       android:layout_margin="18dp" 
       android:layout_gravity="fill" 
       android:gravity="center" 
       android:text="@string/goal2" 
       android:textColor="@color/white" 
       android:textSize="21sp"/> 

: 여기

는 텍스트 뷰에 대한 내 XML을하다

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:state_pressed="true" > 
     <shape android:shape="rectangle" > 
      <corners android:radius="50dip" /> 
      <stroke android:width="1dip" android:color="@color/white" /> 
      <gradient android:angle="-90" android:startColor="#ffffff" android:endColor="#ffffff" /> 
     </shape> 
    </item> 
    <item android:state_focused="true"> 
     <shape android:shape="rectangle" > 
      <corners android:radius="50dip" /> 
      <stroke android:width="1dip" android:color="@color/white" /> 
      <solid android:color="#ffffff"/> 
     </shape> 
    </item> 
    <item > 
     <shape android:shape="rectangle" > 
      <corners android:radius="50dip" /> 
      <stroke android:width="1dip" android:color="@color/white" /> 
      <gradient android:angle="-90" android:startColor="@color/transparent_white" android:endColor="@color/transparent_white" /> 
     </shape> 
    </item> 
</selector> 

내가 프로그래밍을하려고 노력하지만 나를 위해 작동하지 않았다 .

public void onClick(View v) { 
    switch(v.getId()){ 
     case R.id.goalText1: 
      if(mGoal1.isSelected()) 
       mGoal1.setBackgroundColor(Color.WHITE); 
      break; 
     } 

누구든지 내게 어떻게 할 수 있습니까?

+0

사용자가 직접 RadioButton을 구현하려고합니다. 왜? –

+0

@VladMatvienko 미안하지만 못 들었어. 라디오 버튼을 어디에 적용할까요? –

+2

구현하려는 기능은 RadioButton의 기능입니다. RadioButton을 사용하십시오. –

답변

0

은 당신의 배경 XML의 state_selected 속성을 사용

당신이 할 수있는 코드에서 다음
<item android:state_selected="true">...</item> 

:

mGoal2.setSelected(true); 
mGoal1.setSelected(false); 

는 배경을 변경하려면.