2015-09-29 19 views
8

Tôi đang cố gắng sử dụng Ràng buộc dữ liệu. Nó hoạt động đúng nếu tôi sử dụng đối tượng có thuộc tính của chuỗi, nhưng trong trường hợp này tôi sử dụng int và nó không hoạt động. Tôi có đối tượng sử dụng:

public class User extends BaseObservable{ 
     public int age; 
     ...... 


     public User() {} 

     public int getAge() { 
      return age; 
     } 

     public void setAge(int age) { 
      this.age = age; 
     } 
     ... 

    } 

đây là cách bố trí của tôi

<?xml version="1.0" encoding="utf-8"?> 
<layout xmlns:android="http://schemas.android.com/apk/res/android"> 
    <data> 
     <variable name="user" type="com.example.bindingview.User"/> 
    </data> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="@{user.age}"/> 
    </LinearLayout> 
</layout> 

Vấn đề là TextView không thể có văn bản của tuổi đó là int. nếu tôi thay đổi từ int thành chuỗi thuộc tính tuổi thì nó hoạt động tốt. Tôi nên làm gì để tránh vấn đề này?

Trả lời

34

Chỉ cần thêm String.valueOf():

  <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="@{String.valueOf(user.age)}"/> 
+0

Thank you very much ~ – lovefish

+0

Bạn đã cứu sống tôi. – itmammoth

Các vấn đề liên quan