2014-05-16 5 views
1

그래서이 특정 버튼을 눌렀을 때이 EditText를 textColor에서 다른 텍스트로 변경하려고합니다 (예 : button1은 textcolor를 blue로 변경하고 button2는 그것을 변경합니다). 녹색 등)버튼으로 TextView 값 (색상) 변경

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/test" 
    android:id="@+id/test" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:textColor="@color/orange_test" 
    android:layout_toLeftOf="@+id/colorBtn" 
    android:layout_alignBottom="@+id/colorBtn" 
    android:textSize="25sp" 
    android:gravity="center_vertical|center_horizontal" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/colorBtn" 
    android:id="@+id/colorBtn" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:onClick="changeColor"/> 

어떻게해야합니까? : \

+0

' OnClickListeners' –

답변

1

버튼 ID를 확인하여 changeColor에서 하나 개 이상의 색상을

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/colorBtn" 
    android:id="@+id/colorBtn" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:onClick="changeColor" 
/> 
<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/colorBtnRed" 
    android:id="@+id/colorBtnRed" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:onClick="changeColor" 
/> 
<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/colorBtnGreen" 
    android:id="@+id/colorBtnGreen" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:onClick="changeColor" 
/> 
<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/colorBtnBlue" 
    android:id="@+id/colorBtnBlue" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" 
    android:onClick="changeColor" 
/> 

을 설정하려면 버튼을 중복. colorButtonBlue id 인 경우, EditText의 텍스트 색상을 파란색으로 설정하십시오. 이 colorButtonRed 경우, 귀하의 선언 섹션에서, 물론

public void changeColor(View v) 
{ 
    switch(v.getId()) 
    { 
     case R.id.colorBtnRed: 
      edtTest.setTextColor(Color.RED); 
      break; 
     case R.id.colorBtnGreen: 
      edtTest.setTextColor(Color.GREEN); 
      break; 
     case R.id.colorBtnBlue: 
      edtTest.setTextColor(Color.BLUE); 
      break; 
     default: 
      edtTest.setTextColor(Color.BLACK); 
    } 
} 

[편집]

... 등등 빨간색 ABD로 설정 THER, 이렇게 :

EditText edtTest = null; 

그리고 당신의 onCreate에서 다음과 같은 일을하십시오 (super 및 setContentVieew 행 뒤) :

edtTest = (EditText) findViewById(R.id.test); 
+0

어쩌면 나는 그것을 얻었다! 마지막으로 한 가지 : 나는 editText1과 무슨 상관이 있습니까? 그것은 내 textview로되어 있기 때문에 어떻게 링크시킬 수 있습니까? – Lampione

+0

당신은 EditText를 이름 붙였습니다. (그리고 레이아웃에 EditText가 나타납니다.) TextView가 아닙니다 :'이 EditText를 textColor에서 다른 것으로 옮기기 위해 노력하고 있습니다. '하지만 ... editText1에서 textView1로 쉽게 바꿀 수 있습니다. 표시된 코드에서 –

+0

의심의 여지가있는 경우 내 대답을 편집했습니다. –

0

이런 뜻입니까? -

Button greenBtn = (Button) findViewById(R.id.green_button); 
button1.setOnClickListener(new OnClickListener() { 
         @Override 
         public void onClick(View v) { 
          editText1.setTextColor(Color.GREEN); 
         } 
        });); 
+0

죄송합니다. 매우 새롭습니다 : S button1을 가져와야합니까? 아니면 그냥 단추 ID로 바꾸어야합니까? editText1과 똑같은가? 고맙습니다! :) – Lampione

+0

당신은 button1과 editText1을 당신의 프로젝트 이름으로 대체해야합니다 ...하지만 먼저 다음과 같은 코드를 사용하여 뷰에 대한 참조를 필요로합니다 : Button greenBtn = (Button) findViewById (R.id.green_button) ; – iDemigod