很抱歉我的英语不好。我需要使用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();
}
我希望在单击content_main中的悬浮按钮时运行showData函数,但showData函数位于MainActivity类中。因此,我理解当单击content_main.xml上的按钮时它不会被调用。我该怎么办?创建一个名为ContentActivity.java的单独类,并在其中编写showData函数。
我只想让MainActivity.java负责处理对content_main的点击。如何正确实现?