2017-02-22 173 views
0

當我嘗試使用任何DataBindingUtil方法,如:DataBindingUtil缺少內部類

DataBindingUtil.setContentView() 

我得到:Canot解析符號 '評判用'

然後我裏面檢查DataBindingUtil類和很多的東西在那裏丟失DataBindingUtil.class

我這樣配置gradle:

android { 
    .... 
    dataBinding { 
     enabled = true 
    } 
} 

這是我DataBidingActivity

public class DataBidingActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     DataBidingActivity biding = new DataBindingUtil.setContentView(this, 
     R.layout.activity_data_biding); 
    } 
} 

activity_data_biding

<?xml version="1.0" encoding="utf-8"?> 
<layout xmlns:android="http://schemas.android.com/apk/res/android"> 

</layout> 

回答

0

我看到你的代碼,所以我建議你,你必須修改類型DataBidingActivityActivityDataBidingBinding,因爲它必須在佈局xml名稱和類型值之間進行匹配,正如我從我的答案中所述。

您必須在DataBindingUtil之前刪除new關鍵字。

所以我修改了你的代碼。

import com.kick.iot.autohome.R; 
import android.app.Activity; 
import android.databinding.DataBindingUtil; 
import android.os.Bundle; 

public class DataBidingActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     //here is my answer 
     ActivityDataBidingBinding binding = DataBindingUtil.setContentView(this, 
     R.layout.activity_data_biding); 
} 
} 

你有沒有導入import android.databinding.DataBindingUtil;

也許你必須聲明'xxxBinding'值來使用DataBindingUtil方法。例如,當您的活動佈局名稱爲activity_main.xml時,您可以輸入ActivityMainBinding類型的值。

此類型已由DataBinding庫準備。如果您的佈局xml文件的名字是不同的,你必須這樣

activity_main.xml中=> ActivityMainBinding

activity_controller.xml => ActivityControllerBinding

在符合XML的名字和數據綁定類型之間的名字我的情況,我這樣寫我的代碼

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

而且你可以在** [這裏]引用(HTTPS:/ /developer.android.com/topic/libraries/data-binding/index。HTML)** – Irrationnelle

+0

感謝您指出我的**新** 現在一切工作正常。 –

+0

@BrunnoCunha不客氣,你可以通過點擊我的答案='v'形狀選擇我的答案=) – Irrationnelle

0

請確保你添加了以下內容

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

activity_main添加<layout>標籤爲根標籤

如果你這樣做 - 重新啓動你的Android工作室