2017-06-20 20 views
0

我想在layout xml文件中使用android绑定调用onButtonclick(View v)使用android数据绑定的按钮单击方法调用(已在片段中定义)不起作用。

如何在这种情况下使用android绑定实现按钮click? 我遵循如下,但它没有奏效。有什么建议么 ?提前致谢。

Layout1.xml

<data> 
    <variable 
     name="myFrag" 
     type="com.myapp.Fragment1" /> 
</data> 
... 
<Button 
android:id="@+id/step_button" 
style="@style/button_style" 
android:onClick="@{myFrag :: onButtonclick}"/> 

Fragment1.java

public class Fragment1 extends Fragment { 
..... 
public void onButtonclick(View v) 
{ 
    myStdent.setId("No ID"); 
} 
..... 
} 

回答

1
Layout1Binding myBinding = DataBindingUtil.inflate(inflater, R.layout.layout1.xml, container, false); 
myBinding. setMyFrag(this); 

上面的代码行解决了这个问题。我在onCreateView中添加了这些行。

+0

setMyFrag()..这是什么? –

+0

在这个问题中,如果你能看到布局文件,我们有一个数据标签和一个'Fragment1'类型的变量'myFrag'。所以,setMyFrag()是该'myFrag'变量的设置器 –

+0

谢谢..它的工作.. –

0

我认为你缺少 http://prntscr.com/fm6yih(数据绑定对象初始化变量)

+0

你应该把代码内联在你的答案中。 –

+0

你的形象帮助我解决了这个问题。谢谢 –