2014-04-25 2 views
0

을 사용하여 프로그래밍 방식으로 Button을 만들려고합니다.Button.setText가 작동하지 않습니다.

구성을 완료 한 후 의 텍스트를 setText() 메서드를 사용하여 설정하려고했지만 작동하지 않았습니다.

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_enabled="false" 
    android:drawable="@drawable/level_button_disabled" /> 

<item android:state_pressed="true" 
    android:drawable="@drawable/level_button_pressed"/> 

<item android:drawable="@drawable/level_button_normal"/>  
</selector> 

결과 텍스트가있는 사용자 정의 버튼입니다 : 내 당김이 여기

Button b = new Button(this); 
    int pxw = (int) getResources().getDimension(R.dimen.level_button_width); 
    int pxh = (int) getResources().getDimension(R.dimen.level_button_height); 
    LayoutParams lp = new LinearLayout.LayoutParams(pxw,pxh); 
    lp.setMargins(8, 8, 8, 8); 
    b.setLayoutParams(lp); 
    b.setShadowLayer(8, 0, 0, 0xA8A8A8); 
    int sdk = android.os.Build.VERSION.SDK_INT; 
    if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) { 
     b.setBackgroundDrawable(getResources().getDrawable(R.drawable.level_button)); 
    } else { 
     b.setBackground(getResources().getDrawable(R.drawable.level_button)); 
    } 

    b.setTextColor(0xFFFFFF); 
    b.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 36); 
    b.setText("heey"); 

    b.setOnClickListener(new OnClickListener() {     
    @Override 
    public void onClick(View v) { 
     startlevel(Integer.parseInt((String) ((Button)v).getText()));     
    } 
}); 
mLinearLevel.addView(b); 

그리고 :

여기 내 코드입니다.

무엇이 문제입니까?

미리 감사드립니다.

업데이트 : 내 대답을 확인하십시오.

+2

글꼴 색을 변경하려고합니까? –

+0

나는 그것을 시험해 보았다! – SafaOrhan

답변

0

해결책은 Color.parseColor() 방법입니다. 나는 모하메드의 코멘트 에서처럼 그것을 바꿨고 효과가있었습니다.

b.setTextColor(Color.parseColor("#FFFFFF"));