Làm cách nào để thay đổi văn bản của tiện ích con nút Android trong mã chứ không phải tệp XML?Tiện ích Android: Cách thay đổi văn bản của nút
Trả lời
tôi đã có thể thay đổi văn bản của nút như thế này:
import android.widget.RemoteViews;
//grab the layout, then set the text of the Button called R.id.Counter:
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_layout);
remoteViews.setTextViewText(R.id.Counter, "Set button text here");
Bạn có thể sử dụng phương thức setText()
. Ví dụ:
import android.widget.Button;
Button p1_button = (Button)findViewById(R.id.Player1);
p1_button.setText("Some text");
Ngoài ra, cũng giống như một điểm tham chiếu, Button kéo dài TextView, vì vậy tại sao bạn có thể sử dụng setText()
giống như với một TextView bình thường.
Nhưng trên widget findViewById không tồn tại – Skatephone
@Skatephone: Sẽ dễ dàng hơn để giúp bạn nếu bạn đăng một ít mã, sau đó. Điều đó đang được nói, lớp 'RemoteViews' có phương thức' setTextViewText() '. Tôi khuyên bạn nên xem xét điều đó: http://developer.android.com/reference/android/widget/RemoteViews.html#setTextViewText%28int,%20java.lang.CharSequence%29 – eldarerathis
@Skatephone: Bạn không nên gọi findViewById trên một Widget, nhưng trên một Activity hoặc một View. – benvd
Tôi đã có một nút trong Layout.xml của tôi đã được định nghĩa là một Xem như trong:
final View myButton = findViewById(R.id.button1);
tôi đã không có thể thay đổi văn bản trên đó cho đến khi tôi cũng xác định nó dưới dạng một nút:
final View vButton = findViewById(R.id.button1);
final Button bButton = (Button) findViewById(R.id.button1);
Khi tôi cần thay đổi văn bản, tôi đã sử dụng bButton.setText("Some Text");
và khi tôi muốn thay đổi chế độ xem, tôi đã sử dụng vButton.
Đã làm việc tuyệt vời!
Đây có thể là chủ đề, nhưng đối với những người đang đấu tranh về cách thay đổi chính xác phông chữ của nút văn bản (trường hợp của tôi và câu trả lời của Skatephone đã giúp tôi) Trước tiên chúng ta cần phải có tên chuỗi của nút "chuyển đổi" (đó là một cách để giải thích, nhưng đơn giản) vào java từ xml, và vì vậy chúng tôi dán mã đã nói trên vào MainActivity.java
của chúng tôi.QUAN TRỌNG! đặt mã theo phương pháp OnCreate!
import android.widget.RemoteViews;
RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.my_layout);
remoteViews.setTextViewText(R.id.Counter, "Set button text here");
Lưu ý:
my_layout
phải được thay thế bằng file xml nơi các nút của bạn là
Counter
phải được thay thế bằng tên id của nút bấm của bạn ("@+id/ButtonName"
)
nếu bạn muốn thay đổi văn bản nút chỉ cần chèn văn bản vào vị trí của "Set button text here"
đây đến phần mà bạn thay đổi phông chữ:
Bây giờ bạn "chuyển đổi" từ xml để java, bạn có thể thiết lập một kiểu chữ cho TextView.Dán đoạn mã sau chính xác dưới trước đó chỉ mô tả ở trên
TextView txt = (TextView) findViewById(R.id.text_your_text_view_id);
Typeface font = Typeface.createFromAsset(getAssets(), "fonts/MyFontName.ttf");
txt.setTypeface(font);
nơi ở vị trí của text_your_text_view_id
bạn đặt tên id của nút của bạn (như là mã trước) và ở vị trí của MyFontName.ttf
bạn đặt phông chữ của bạn mong muốn
CẢNH BÁO! Điều này giả định bạn đã đặt phông chữ mong muốn của bạn vào thư mục tài sản/phông chữ . ví dụ. asset/fonts/MyFontName.ttf
sử dụng trao đổi bằng java. setText = "...", đối với lớp java có nhiều phương thức để thực hiện hơn.
//button fechar
btnclose.setEnabled(false);
btnclose.setText("FECHADO");
View.OnClickListener close = new View.OnClickListener() {
@Override
public void onClick(View view) {
if (btnclose.isClickable()) {
btnOpen.setEnabled(true);
btnOpen.setText("ABRIR");
btnclose.setEnabled(false);
btnclose.setText("FECHADO");
} else {
btnOpen.setEnabled(false);
btnOpen.setText("ABERTO");
btnclose.setEnabled(true);
btnclose.setText("FECHAR");
}
Toast.makeText(getActivity(), "FECHADO", Toast.LENGTH_SHORT).show();
}
};
btnclose.setOnClickListener(close);
này là rất dễ dàng
Button btn = (Button) findViewById(R.id.btn);
btn.setText("MyText");
- 1. Thay đổi kích thước tiện ích con của Android
- 2. Thay đổi một phần của màu văn bản trong một tiện ích "EditText"
- 3. XmlSlurper: Cách thay đổi văn bản của nút động
- 4. Thay đổi văn bản động cho Nút Actionbar Android
- 5. Làm cách nào để thay đổi màu của nút và màu văn bản trên android
- 6. Thay đổi văn bản Bật/Tắt của nút chuyển đổi Android
- 7. văn bản nút android và html
- 8. Tiện ích văn bản crud tại chỗ của Yii
- 9. Cách đánh dấu văn bản trong một tiện ích văn bản tkinter
- 10. Làm cách nào để thay đổi màu của một số từ nhất định trong tiện ích văn bản tkinter?
- 11. Làm cách nào để thay đổi nền của tiện ích tab Android?
- 12. pygtk thay đổi màu nền của tiện ích gtkHBox
- 13. UIActivityViewController - cách thay đổi văn bản nút hủy
- 14. Cách thay đổi văn bản nút quay lại uinavigationbar
- 15. Magento: Lập trình thay đổi cấu hình của tiện ích
- 16. Thay đổi kiểu mặc định của tiện ích DOJO
- 17. Android - Chỉ thay đổi văn bản TextView alpha của
- 18. trình nghe nhấp chuột trên nút tiện ích con android
- 19. android: cách thay đổi kiểu chỉnh sửa văn bản?
- 20. tiện ích gwt - nút chuyển đổi lẫn nhau độc quyền
- 21. CSS: Cách thay đổi khoảng cách giữa nút radio và văn bản của nó?
- 22. Tiện ích bảng điền từ tệp văn bản trong Qt
- 23. Làm cách nào để thay đổi màu văn bản của Android ToogleButton về thay đổi trạng thái?
- 24. Đăng nhập bằng Python vào tiện ích văn bản Tkinter
- 25. thay đổi văn bản của nút và nút tắt trong iOS
- 26. thay đổi màu văn bản nút khi nhấn
- 27. Tiện ích con của Android để cập nhật
- 28. Thay đổi cạnh của văn bản xuất hiện trên nút radio
- 29. Đặt vị trí con trỏ trong tiện ích Văn bản
- 30. Rails gửi văn bản nút (formtastic) - làm thế nào để thay đổi nhãn của nút gửi?
'((android.widget.Button) findViewById (R.id.epic_button)) setText ("mytitle");. ' –
findViewById không làm việc cho vật dụng! Phương thức này không được hỗ trợ trong tiện ích. – coolcool1994
Nó hoạt động. Chỉ cần chắc chắn thêm 'import android.widget.View;' ở đầu tệp java của bạn. Nếu bạn cũng thêm 'import android.widget.Button;', nó có thể được rút ngắn thành: '((Button) findViewById (R.id.yourButtonName)). SetText (" New Text ");' –