回答
你傳遞一個View
通過參數和你的方法Presenter
類是當沒有收到它。 要解決此問題,改變你的方法是:
public class Presenter{
public void onSaveClick(View view, String task){
Log.i("log", "Action" + task)
}
,然後通過它在你的XML:
android:onClick="@{(v) -> presenter.onSaveClick(v, user.address)}"
不解決這個問題它仍然是一樣的,爲什麼通過額外的觀點參數我不需要它。 – Oussaki
對不起。我編輯我的答案。現在檢查。 –
您需要傳遞它,因爲onClick處理程序在簽名中有一個視圖。 –
要麼改變XML
android:onClick="@{() -> presenter.onSaveClick(user.address.get())}"
或演示
onSaveClick (ObservableField<String> address){
Log.d ("log", address.get())
}
用戶模型:
private ObservableField<String> address = new ObservableField<>();
public String getAddress() {
return address.get();
}
public void setAddress(String address) {
this.address.set(address);
}
XML:
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.address}"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp"
android:onClick="@{(v) -> event.onSaveCLick(user.address)}"/>
的Java:
public class Presenter{
public void onSaveCLick(String task){
Toast.makeText(MainActivity.this,"Address"+task,Toast.LENGTH_SHORT).show();
}
}
它,因爲你引用演示正確.The錯誤是說你錯了包時輸入!在XML中設置變量。它實際上與android:onClick無關,但是您引用演示者的事實並未綁定它。在您設置演示者之後的活動中,您必須執行mainBinding.setVariable(BR.presenter,演示者);那之後它應該工作得很好。
- 1. 哪一個是有效的數據綁定符號「機器人:文本=」 @ = {丙}「」或「機器人:文本=」 @ {丙}「」
- 2. 機器人數據綁定<include>佈局的OnClick聽者不到風度工作
- 3. 機器人通入參數onclick事件
- 4. 如何設置機器人:使用數據綁定
- 5. 機器人腿PrivateModule和綁定覆蓋
- 6. 機器人的EditText imeOption的OnClick
- 7. 在onclick url中使用數據綁定
- 8. 機器人不能在mysql數據庫
- 9. startActivity不是機器人
- 10. LayerDrawable不是機器人
- 11. Applovin AdclickListener不是機器人
- 12. onClick函數不綁定在reactjs
- 13. 反應OnClick函數不綁定
- 14. 的onClick在按鈕不起作用使用數據綁定
- 15. 劍道 - 數據綁定的onclick適用於網絡,而不是在移動
- 16. 機器人:imeOptions =「actionNext」不不指定機器人的工作:的inputType
- 17. Vuejs數據綁定:什麼是綁定?
- 18. 的onclick不能在listrow檢測機器人
- 19. 當OnClick事件觸發時,GridView不返回數據綁定行
- 20. 「機器人:supportsRtl」是不行的
- 21. 轉發器標記不是在我的鏈接數據綁定
- 22. 迷宮中的機器人數據庫
- 23. 機器人 - 清晰的數據後persistin
- 24. 機器人的數據連接
- 25. Android數據綁定傳遞給lambda表達式的onClick參數
- 26. 概括guice的機器人腿與多重綁定的例子
- 27. 不和諧的機器人不是一個函數
- 28. 修飾器數據綁定
- 29. 什麼是數據綁定
- 30. 將數據綁定列數據綁定到每行datagridview(不是整列)
你配置gradle文件進行數據綁定嗎? – uguboz
User.adress是observablestring而不是一個字符串。更改參數類型 – uguboz
我已將其更改爲Observable並且它不工作不顯示 錯誤:(37,39)在類com.example.alternative.mytest.Presenter中找不到方法onSaveClick(java.lang.String) 即使是我實現這樣的: 公共無效onSaveClick(ObservableField 任務) 和: 機器人:的onClick =「@ {(v) - > presenter.onSaveClick(用戶。地址)}「 –
Oussaki