Sorry for my English. I need to process a button click with Android Data Binding. I include in content_main.xml data binding.
<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)}"
But 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();
}
I want the function showData run then i click on FloatingActionButton in content_main. But showData - function in class MainActivity. And therefore as I understand it is not called when you click on the button located on the content_main.xml. What do i do? Create a separate class ContentActivity.java whith function showData.
I just want to MainActivity.java was responsible for processing the click on content_main. How to implement it correctly?