0

请检查编辑。什么是setContentView()的类型

val binding= DataBindingUtil.setContentView([email protected],R.layout.activity_main) 

我收到以下错误指向setConentView()

类型接口失败:

fun <T: ViewDataFinding!> setContentView(activity:Activity!, layoutId:Int):T! 

请明确指定它没有足够的信息来推断参数T。

编辑:

所以根据android documentation,它的返回类型将是MainActivityBinding。但是,当我将我需要改变

VAL结合= DataBindingUtil.setContentView(该@ MainActivity,R.layout.activity_main)

我收到错误

Error:(21, 15) error: cannot find symbol class MainActivityBinding 
+0

你在使用kotlin吗? 'this @ MainActivity'是kotlin语法,对于java'MainActivity.this' – Sanoop

+0

是的,我正在使用kotlin。@ Sanoop –

+0

[This](https://github.com/svenjacobs/android-best-practices/blob/master/ app/src/main/kotlin/com/svenjacobs/abp/app/databinding/DataBindingActivity.kt)可能会有用。 – Sufian

回答

1

可以使用

val binding: MainActivityBinding = DataBindingUtil.setContentView(this, R.layout.activity_main) 

val binding = DataBindingUtil.setContentView<MainActivityBinding>(this, R.layout.activity_main) 
+0

未解决的引用在MainActivityBinding @ maphongba008 –

+1

@AnkurKhandelwal这应该是'ActivityMainBinding'作为您的布局名称是'activity_main.xml' –

+0

作为@Ravi提到,这取决于你的布局名称,MainActivityBinding只是一个例子 – maphongba008

-1

有android的

  • 无效的setContentView(查看视图,ViewGroup.LayoutParams PARAMS)
  • 无效的setContentView(查看视图)
  • 无效的setContentView(INT layoutResID)只有三个版本的setContentView的

您正在使用的setContentView版本未定义。

+0

我使用的数据绑定,在这个,我必须传递布局文件UpperCamelCase的setcontentView类型。请看看数据绑定。 –

+0

这是对不同问题的回答,不考虑数据绑定。 – dazza5000