亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么除了監聽器綁定會提示程序包不存在,找不到符號,別的都行呢,語法應該沒錯,我貼下代碼

public?void??OnClickListenerBinding(User?user){
????Toast.makeText(MainActivity.this,user.getLastName(),Toast.LENGTH_SHORT).show();
}
<TextView
????android:onClick="@{()?->?presenter.OnClickListenerBinding(user)}"
????android:text="@{User.lastName}"
????android:layout_width="wrap_content"
????android:layout_height="wrap_content"?/>
只有綁定監聽器事件不行,別的都可以的,這是什么原因,語法檢查很多遍沒錯啊


正在回答

2 回答

http://img1.sycdn.imooc.com//5818006200014b4606180073.jpg所以到底是User還是user呢? 建議貼全代碼

0 回復 有任何疑惑可以回復我~
#1

慕粉4142398 提問者

看下面,User我定義的另外一個類型,所以text是"@{User.lastName}" 但是onClick里不是應該傳定義的方法的參數嗎?我的參數是user啊,不過按照你標示的錯誤改正過來了,但是不太懂
2016-11-01 回復 有任何疑惑可以回復我~
#2

feels_chaotic 回復 慕粉4142398 提問者

應該是 @{() -> presenter.OnClickListenerBinding(User)} 你看你定義的variable的name是首字母大寫的User 同理所以android:text="@{User.lastName}"
2016-11-01 回復 有任何疑惑可以回復我~
#3

feels_chaotic 回復 慕粉4142398 提問者

layout文件里 表達式的變量名都是按照定義的variable的name名字來的
2016-11-01 回復 有任何疑惑可以回復我~
public?class?MainActivity?extends?AppCompatActivity?{

????User?user?=?new?User("小白","小黑");
????private?ActivityMainBinding?binding;

????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????binding?=?DataBindingUtil.setContentView(this,?R.layout.activity_main);
//????????binding.firstName.setText(user.getFirstName());
//????????binding.lastName.setText(user.getLastName());
????????binding.setUser(user);
//????????binding.setVariable(BR.User,user);
??????binding.setPresenter(new?Presenter());



????}

????public?class?Presenter{
????????public?void?onTextChanged(CharSequence?s,int?start,int?before,int?count){
????????????user.setFirstName(s.toString());
????????????binding.setUser(user);
????????}

????????public?void?onClick(View?view){
????????????Toast.makeText(MainActivity.this,"點到了",Toast.LENGTH_SHORT).show();
????????}
??????????public?void??OnClickListenerBinding(User?user){
??????????????Toast.makeText(MainActivity.this,user.getLastName(),Toast.LENGTH_SHORT).show();
??????????}
????}
}
<?xml?version="1.0"?encoding="utf-8"?>
<layout?xmlns:android="http://schemas.android.com/apk/res/android"
???>
????<data>
???????<variable
???????????name="User"
???????????type="chachewuyou.qs.demo.User"/>
????????<variable
????????????name="presenter"
????????????type="chachewuyou.qs.demo.MainActivity.Presenter"/>
????</data>

????<LinearLayout
????????android:layout_width="match_parent"
????????android:layout_height="match_parent"
????????android:gravity="center_horizontal"
????????android:orientation="vertical">

????????<EditText
????????????android:onTextChanged="@{presenter.onTextChanged}"
????????????android:layout_width="match_parent"
????????????android:layout_height="wrap_content"
????????????android:hint="輸入First?Name"?/>

????????<EditText

????????????android:layout_width="match_parent"
????????????android:layout_height="wrap_content"
????????????android:hint="輸入Last?Name"?/>

????????<TextView
????????????android:onClick="@{presenter.onClick}"
????????????android:text="@{User.firstName}"
????????????android:layout_width="wrap_content"
????????????android:layout_height="wrap_content"?/>

????????<TextView
????????????android:onClick="@{()?->?presenter.OnClickListenerBinding(user)}"
????????????android:text="@{User.lastName}"
????????????android:layout_width="wrap_content"
????????????android:layout_height="wrap_content"?/>

????</LinearLayout>
</layout>


0 回復 有任何疑惑可以回復我~
#1

慕后端9350785

我也出現了同樣的情況,就是報錯,不知道什么原因
2016-12-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么除了監聽器綁定會提示程序包不存在,找不到符號,別的都行呢,語法應該沒錯,我貼下代碼

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號