android 多类型参数,Android的数据绑定-类型参数T具有不兼容的上限:ViewDataBinding和MainActivity…

  • Post author:
  • Post category:其他


我正在使用Android Studio 2.0 Preview 4。我正在使用Android SDK工具25 rc1。 无论我清理/重建项目多少次,此错误仍然存在。 File-> Invalidate Caches并重新启动也不起作用。我无法运行最基本的数据绑定示例。

build.gradle文件

apply plugin: ‘com.android.application’

android {

compileSdkVersion 23

buildToolsVersion “23.0.2”

defaultConfig {

applicationId “com.example.chiragshenoy.myapplication”

minSdkVersion 15

targetSdkVersion 23

versionCode 1

versionName “1.0”

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’

}

}

dataBinding {

enabled = true

}

}

dependencies {

compile fileTree(dir: ‘libs’, include: [‘*.jar’])

testCompile ‘junit:junit:4.12’

compile ‘com.android.support:appcompat-v7:23.1.1’

compile ‘com.android.support:design:23.1.1’

}

MainActivity.java

package com.example.chiragshenoy.myapplication;

import android.databinding.DataBindingUtil;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.Menu;

import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

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

User user = new User(“Test”, “User”);

binding.setUser(user);

}

@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;

}

activity_main.xml

android:orientation=”vertical”

android:layout_width=”match_parent”

android:layout_height=”match_parent”>

android:layout_height=”wrap_content”

android:text=”@{user.firstName}”/>

android:layout_height=”wrap_content”

android:text=”@{user.lastName}”/>

这是我的顶级build.gradle文件

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

buildscript {

repositories {

jcenter()

}

dependencies {

classpath ‘com.android.tools.build:gradle:2.0.0-alpha3’

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

jcenter()

}

}

task clean(type: Delete) {

delete rootProject.buildDir

}