2015-09-28 15 views
6

Tôi đã cố gắng sử dụng các tính năng beta (ràng buộc dữ liệu) trong studio android. Sau khi làm theo hướng dẫn từ studio android, tôi có thể tìm thấy lớp DataBindingInfo liên quan trong studio android. Nhưng lớp databinding không tạo ra sau khi tôi tạo dự án. Ai đó có thể giúp đỡ?Android Ràng buộc dữ liệu: Không thể phân giải biểu tượng

build.gradle cho các module ứng dụng

apply plugin: 'com.android.application' 

apply plugin: 'com.android.databinding' 
android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.example.pigfamily.myapplication" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.0.1' 
} 

build.gradle cho dự án

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     dependencies { 
      classpath "com.android.tools.build:gradle:1.3.0" 
      classpath "com.android.databinding:dataBinder:1.0-rc1" 
     } 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

activity_main.xml

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

    <data> 

     <variable 
      name="user" 
      type="com.example.pigfamily.myapplication.User" /> 
    </data> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@{user.name}" /> 

    </LinearLayout> 
</layout> 

MainActivity.java

package com.example.pigfamily.myapplication; 

import android.databinding.DataBindingUtil; 
import android.databinding.ViewDataBinding; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ActivityMainBinding //cannot resolve the symbol here 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
} 
+0

Tôi đã từng cùng làm việc và nó cho tôi. xin vui lòng đồng bộ của bạn gradle xây dựng – USKMobility

+0

Có, bạn là đúng. Nó hoạt động bây giờ –

+0

FYI, rc2 có sẵn với một số sửa lỗi và hỗ trợ cho việc tiêm phụ thuộc. –

Trả lời

10

Tôi cũng gặp vấn đề này. Tôi đã đào bới thông qua thiết lập gradle, làm sạch, xây dựng lại ... không có gì làm việc. Cuối cùng tất cả những gì phải làm là khởi động lại Android Studio

https://www.bignerdranch.com/blog/descent-into-databinding/

Theo văn bản này, hội nhập này cần một chút nhảy-bắt đầu để có được đi. Để làm cho ListItemCrimeBinding có sẵn sau khi thêm thẻ , bạn phải khởi động lại Android Studio, sau đó xây dựng lại dự án .

0

Đồng bộ hóa nhấp chuột nếu một cuộc đối thoại bật lên, nhấn nút đồng bộ bên cạnh lưu hoặc khởi động lại Android Studio.

9

đầu tiên, cho phép liên kết dữ liệu trong tập tin build.gradle bạn

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

+1

Điều này phù hợp với tôi, đây là câu trả lời đúng. – Oussaki

+0

Sau khi thực hiện việc này, bạn cần phải đi đến: File - Sync Project với Gradle Files để đồng bộ tập tin gradle. –

Các vấn đề liên quan