【发布时间】:2017-03-08 13:00:57
【问题描述】:
对不起我的英语。我需要使用 Android 数据绑定处理按钮单击。我包含在 content_main.xml 数据绑定中。
<data>
<variable
name="temp"
type="skubyev.anton.navigationdrawer.DataBindingClass.MainActivityData" />
<variable
name="presenter"
type="skubyev.anton.navigationdrawer.DataBindingClass.MainActivityPresenter"/>
</data>
....
<android.support.design.widget.FloatingActionButton
android:onClick="@{() -> presenter.onShowData(temp)}"
但是 MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ContentMainBinding binding = DataBindingUtil.setContentView(this, R.layout.content_main);
MainActivityPresenter mainActivityPresenter = new MainActivityPresenter(this);
MainActivityData mainActivityData = new MainActivityData("Иди нахуй");
binding.setTemp(mainActivityData);
binding.setPresenter(mainActivityPresenter);
setContentView(R.layout.activity_main);
....
@Override
public void showData(MainActivityData mainActivityData) {
String textForRecognition = mainActivityData.getTextForRecognition();
Toast.makeText(this, textForRecognition, Toast.LENGTH_SHORT).show();
}
我希望函数 showData 运行,然后单击 content_main 中的 FloatingActionButton。但是 showData - MainActivity 类中的函数。因此,据我了解,当您单击 content_main.xml 上的按钮时,不会调用它。我该怎么办?使用函数 showData 创建一个单独的类 ContentActivity.java。
我只想让MainActivity.java负责处理点击content_main。如何正确实施?
【问题讨论】:
标签: java android data-binding navigation-drawer android-databinding