2015-08-23 43 views
26

“机器人工作室”显示错误消息“类型参数T有不兼容的上限:ViewDataBinding和ActivityChecklistsBindingDataBindingUtil.setContentView - 类型参数T有不兼容的上限

ActivityChecklistsBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_checklists); 

更新之前的ADK它的工作原理罚款。有任何想法有什么不对吗?

+2

困惑让我犯同样的错误,我的项目符合并运行完美... – Bharatesh

+0

五月它将对你有用:HTTP: //stackoverflow.com/a/41760397/1318946 –

回答

60

我有同样的问题。我试了几件事情,清理和重建项目。

但是,它的工作,我选择后File -> Invalidate Caches/Restart

+0

你能减少这个答案的东西,确实有帮助吗? – hirse

+0

谢谢。它是固定的。 –

1

当我第一次见到这个错误,我创建了一个名为A.XML布局,然后我像这样创建

public class ABinding extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     ABinding binding = DataBindingUtil.setContentView(this, R.layout.a); 
    } 

} 

一个活动,并会出现此错误。 最后,我发现了类ABinding在/编译自动生成的,所以用名字ABinding活动将覆盖自动生成的类

所以我重新命名活动和错误消失

+0

你的男人....你是一个同志.....路要走 – Tarun

-1

您应该使用到位ActivityMainBinding你的Activity类名称。

ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_checklists); 
0

结合活性是自动生成的,并从布局文件,而不是活动类需要的名字。

所以,如果你有一个名为BeautifulActivity的活动,并命名为sweet_layout.xml相应的布局,然后将生成的名称将是SweetLayoutBinding而不是BeautifulActivityBinding

不要用这种错误MainActivityactivity_main.xml来源Android Developers虽然之间