我们平常在Android的开发中,比如如果要设置一个View的点击事件,通常通过view.setOnClickListener()来实现的,这种方式略显繁琐,而且要通过findViewById()来获取到此View的引用。使用了Data Binding技术以后,我们无需这样做,可以直接通过在xml布局文件中设置一个Interface的实现来直接调用某个方法,非常方便。
目前创新互联已为上千多家的企业提供了网站建设、域名、网站空间、网站改版维护、企业网站设计、古丈网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
下面我们来举例说明这种方式的用法。
首先定义一个接口
public interface IMainActivity {
void clickedSomething();
}
实现这个接口
public class MainActivity extends AppCompatActivity implements IMainActivity{
@Override
public void clickedSomething() {
}
}
在布局文件的<data/>标签中定义该接口的变量
<variable
name="iMainActivity"
type="cn.examplecode.androiddatabinding.IMainActivity"/>
通过binding设置这个变量
mBinding.setIMainActivity(this);
如果发现并没有这个方法,可能因为IDE并没有自动生成这个方法,可以参考[这篇文章]()进行解决。
<TextView
android:id="@+id/tv_example"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="@{()->iMainActivity.clickedSomething()}"
android:textSize="16sp" />
注意:android:onClick()中的写法是一种lambda式的写法
通过简单的几步就可以在布局中直接调用Activity(或任意对象)中的方法了,本文以简单的点击事件及简单的事件进行用法的举例,大家可以根据自己的业务应用到更多的场景中。
标题名称:Android开发教程-使用DataBinding(八)使用自定义Interface
当前网址:https://www.cdcxhl.com/article24/jcsece.html
成都网站建设公司_创新互联,为您提供企业网站制作、关键词优化、移动网站建设、软件开发、自适应网站、网页设计公司
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联