无法使用android-times-square v1.3.0在Android Studio 0.8.6中渲染布局

时间:2014-09-09 13:36:36

标签: android android-layout android-studio

我正在使用日历选择器插件android-times-square的Android Studio中的嵌入式渲染器

https://github.com/square/android-times-square

我的布局声明:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.squareup.timessquare.CalendarPickerView
    android:id="@+id/calendar_view"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:paddingBottom="16dp"
    android:scrollbarStyle="outsideOverlay"
    android:clipToPadding="false"
    android:background="#FFFFFF"
    />

IDE显示的相关异常堆栈跟踪

java.lang.IllegalArgumentException: Illegal pattern character 'L'
at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:845)
at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:659)
at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:585)
at com.squareup.timessquare.CalendarPickerView.<init>(CalendarPickerView.java:121)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)

现在,我知道从API版本9(添加'L'和'C')开始的有效字符模式的更改,但我的SDK由build.gradle以下列方式管理:

apply plugin: 'android'
android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'joda-time:joda-time:2.3'
    compile 'com.squareup.retrofit:retrofit:1.5.1'
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile 'com.squareup:android-times-square:1.3.0@aar'
}

因此,解决正确的版本和SDK源与问题的麻烦'L'应该没有任何问题。以下是预览设置的屏幕截图:

http://i.imgur.com/aqauFHq.jpg?1

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

此时预览渲染器使用的布局库中存在一个错误 - 它调用SimpleDateFormat类的JDK版本而不是Android版本。您可以这样说,因为Android版本根本没有compile()方法。

您可以在

跟踪错误

https://code.google.com/p/android/issues/detail?id=75940