Android数据绑定:使用@ = {}语法进行两次数据绑定会导致无法生成绑定文件

时间:2016-10-20 07:33:20

标签: android android-databinding

我正在尝试使用android 2 way数据绑定库的2路数据绑定功能。

我的gradle版本是

javax.ws.rs.ext.Provider

当我使用库进行简单绑定时,它可以正常工作

javax.ws.rs.ext.Provider

当我使用while($row = mysql_fetch_array($result)) { ?> <tr> <td><?php echo date('d-m-Y',strtotime($row['date'])); ?></td> <td><?php echo $row['receviername'] ?></td> <td><?php echo $row['receivercontactno'] ?></td> <td><?php echo $row['payeename'] ?></td> <td><?php echo $row['payeecontactno'] ?></td> <td><?php echo $row['purpose'] ?></td> <td><?php echo $row['category'] ?></td> <td><?php echo $row['amount'] ?></td> <?php $_SESSION["id"]=$row['SI_No'];?> <td><a href="updateexp.php?id=<?php echo $_SESSION["id"]; ?>" alt='edit'>Update</a></td> //in this line i dont want to display edit button while printing the page <td align="left"><a href="javascript:delete_id(<?php echo $row['SI_No']; ?>)"><img src="images/delete.jpg" alt="Delete" style="width:30px;height:30px;"/></a></td> //in this line i dont want to display delete button while printing the page </tr> 格式进行双向数据绑定时,它不起作用

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.1'
} 

它不起作用。我收到以下错误

 <EditText
            android:id="@+id/text_view_username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginBottom="20dp"
            android:gravity="center"
            android:hint="Enter Username"
            android:inputType="text"
            android:text="@{model.username}"
        />

基本上没有生成数据绑定类。请帮助如果需要任何其他信息,请告诉我。

@={}

并且视图模型类是

 <EditText
            android:id="@+id/text_view_username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginBottom="20dp"
            android:gravity="center"
            android:hint="Enter Username"
            android:inputType="text"
            android:text="@={model.username}"
        />

1 个答案:

答案 0 :(得分:1)

来自我的评论:

  

日志中应该有更多信息,而不是正常情况,但还有更多信息。请发布并格式化。但我确实认为数据绑定正在搜索一个setUserName方法(在您的Login.class中),该方法不存在,从而引发错误。

这些方法也应该调用notifyPropertyChanged(BR.propertyName),正如您在评论中正确提到的那样。

Login.class添加

public void setUsername(String username) { 
    this.username = username; 
    notifyPropertyChanged(BR.username); 
} 

public void setPassword(String password) { 
    this.password = password; 
    notifyPropertyChanged(BR.password); 
}