Có ai có thể đề xuất một cách để cải thiện ví dụ API8 này không? Trong khi họ nói các quan điểm có thể đã được định nghĩa trong XML, thì những gì họ có trong thực tế được thực hiện là mã hóa chúng trong java. Tôi hiểu tại sao họ lại muốn. Họ đã thêm một số thành viên vào một LinearLayout mở rộng và các giá trị được xác định khi chạy.Làm thế nào để Phấn rộng LinearLayout mở rộng từ XML
Theo oh, tất cả mọi người trong vũ trụ, chỉ thị bố cục sẽ chuyển sang XML. Nhưng đối với ứng dụng này, nó có ý nghĩa để tiếp tục thiết lập văn bản như trong logic thời gian chạy. Vì vậy, chúng tôi đã có một cách tiếp cận lai. Thổi phồng các chế độ xem, sau đó điền văn bản động. Tôi đang gặp khó khăn trong việc tìm ra cách để thực hiện nó. Đây là nguồn và những gì tôi đã thử.
private class SpeechView extends LinearLayout {
public SpeechView(Context context, String title, String words) {
super(context);
this.setOrientation(VERTICAL);
// Here we build the child views in code. They could also have
// been specified in an XML file.
mTitle = new TextView(context);
mTitle.setText(title);
...
I figured kể từ khi LinearLayout có android: id = "@ + id/LinearLayout01", tôi sẽ có thể làm điều này trong OnCreate
SpeechView sv = (SpeechView) findViewById(R.id.LinearLayout01);
nhưng nó không bao giờ chạm vào hàm tạo tối thiểu mà tôi đã thêm:
public class SpeechView extends LinearLayout {
public SpeechView(Context context) {
super(context);
System.out.println("Instantiated SpeechView(Context context)");
}
...
Nó cũng làm việc cho tôi. Cảm ơn bạn! – Lion