2013-10-14 53 views
-5

我想使按鈕EditText的粗體onClick中的文本顯示,但下面的代碼給我一個錯誤,當我在模擬器中運行應用程序時,錯誤爲The application chatApp has stopped unexpectedly ,但是當我拿出這個代碼時,它工作正常。Android - 代碼不工作將​​EditText的文本設置爲粗體

代碼

private void setBoldText() { 
    final EditText sendMessage = (EditText) findViewById(R.id.myMessage); 
    Button boldButton = (Button) findViewById(R.id.btnBold); 
    boldButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      sendMessage.setTypeface(null, Typeface.BOLD); 

     } 
    }); 

} 
+2

把你的logcat放在這裏。 – Riser

+1

你在哪裏調用這個方法?你必須把這個或創建視圖時調用它。如果你有一個視圖已經定義了你應該使用的地方:'EditText sendMessage =(EditText)your_view.findViewById(R.id.myMessage);' – Dyna

+0

嘗試'谷歌'哥們..!並像@Dyna所說的那樣在'onCreate'中定義這段代碼片段 –

回答

0

Try..this代碼...

public class MainActivity extends Activity { 


EditText ed; 
Button btn; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ed=(EditText)findViewById(R.id.editText1); 
    btn=(Button)findViewById(R.id.button1); 


    btn.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Typeface tf = Typeface.createFromAsset(getAssets(), 
         "fonts/your.ttf"); 
       ed.getText().toString(); 
       ed.setTypeface(tf); 

     } 
    }); 
} 

把UR自定義字體在資產 - >字體文件夾... 希望這將幫助ü...它工作...

0

下面的代碼將工作

edit.setTypeface(Typeface.SANS_SERIF,Typeface.BOLD); 
0
<style name="tp" > 
    <item name="android:textColor">#ff0000</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:textSize">17sp</item> 
</style> 



Button boldButton = (Button) findViewById(R.id.btnBold); 
boldButton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     sendMessage.setTextAppearance(ClassName.this, R.style.tp); 

    } 
}); 
相關問題