Tôi đặt mô-đun trò chuyện trong trò chơi vào ứng dụng. Tôi đang thêm tin nhắn văn bản khi chúng được nhận vào chế độ xem LinearLayout. Tôi muốn thiết lập các thông số bố cục cho TextView nhưng mã sau đây bị lỗi và các thông báo lỗi sẽ làm rối tôi.android - cài đặt LayoutParams theo lập trình
private void addChat(String chat, String when, Boolean mine) {
int leftMargin;
TextView tv = new TextView(this);
llview.addView(tv);
tv.setTextColor(Color.WHITE);
tv.setTextSize(2,25);
tv.setText(chat);
if (mine) {
leftMargin = 5;
tv.setBackgroundColor(0x7C5B77);
}
else {
leftMargin = 50;
tv.setBackgroundColor(0x778F6E);
}
final ViewGroup.MarginLayoutParams lpt =(MarginLayoutParams)tv.getLayoutParams();
lpt.setMargins(leftMargin,lpt.topMargin,lpt.rightMargin,lpt.bottomMargin);
tv.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
}
khi nó chạy, tất cả các mã trên thực hiện nhưng nó bị treo trong thời gian chạy android như:
03-13 14:15:38.513: E/AndroidRuntime(12985): java.lang.ClassCastException: android.view.ViewGroup$LayoutParams
và bước qua với trình gỡ lỗi, nó thực sự sẽ xử lý tất cả các dòng
nhưng sau đó là barfs khi cố gắng hiển thị với thông báo chi tiết ngoại lệ bí ẩn như nhau:
android.view.ViewGroup$LayoutParams
Vì vậy, những gì đã làm để có được trạng thái này? Tôi nên làm gì để xen kẽ các thông điệp thụt lề trái/phải?
Cách đặtLayoutParams trong giá trị 'dp' thay vì' wrap_content' hoặc 'match_parent'. Tôi muốn đặt nó thành '100dp' mỗi cái. –
Tôi có cùng một câu hỏi và không thể tìm ra giải pháp. – Prabhakar