2014-12-12 7 views
6

Meine Wear-App verwendet WearableListView.Item für eine ListView, und es funktionierte gut und kompiliert - aber dann habe ich Android Studio, Gradle Plugin, SDK-Tools usw. etc, und jetzt gewann es ' t kompilieren.WearableListView.Item fehlt Wearable Support-Bibliothek 1.1

Mein Verschleiß build.gradle enthält:

compileSdkVersion 20 
buildToolsVersion "21.1.2" 
... 
    minSdkVersion 20 
    targetSdkVersion 20 
... 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.google.android.support:wearable:+' 
    compile 'com.google.android.gms:play-services-wearable:6.5.+' 
} 

Jetzt heißt es: Fehler: (141, 84) Fehler: kann nicht Symbolklasse Artikel

Jede Hilfe da draußen finden bitte?

Antwort

5

Das ist, weil die API geändert hat. Es hängt jetzt davon ab RecyclerView

Here is a gist zeigt, wie Sie eine WearableListView implementieren.

+0

Das sieht interessant aus - woher hast du das? – barkside

+0

Ich habe gerade herausgefunden, wie ich es alleine mache. –

+1

Ich habe das ausprobiert, und Sie haben tatsächlich Recht mit der Schnittstellenänderung. Akzeptieren. Die Animationen funktionieren in Ihrem Beispiel jedoch nicht sehr gut, besonders beim schnellen Scrollen. Ich schlage vor, überhaupt nicht zu animieren und stelle nur Skalierung (1 bis 1,5) und Alpha ein. Können Sie die relevanten Änderungen an der Schnittstelle in Ihre Antwort einfügen? – barkside

0

Es sieht aus wie (source), die das ändern müssen Sie Umgehung:

compile 'com.google.android.support:wearable:+' 

zu

compile 'com.google.android.support:wearable:1.0.0' 

Das sieht nur eine vorübergehende Lösung sein, bevor eine passende Lösung kommt.

+3

Dies ist nur ein Workaround, der die alte Version erzwingt. –

2

Hier ist eine gute Umsetzung von WearableListView v1.1.0 der tragbaren Support-Bibliothek verwenden, die nach wie vor die richtige Zoomverhalten unterstützt (direkt aus dem offiziellen Google-Proben):

android-WatchFace/DigitalWatchFaceWearableConfigActivity.java

+0

Ich wusste nicht, dass dieser Teil der Probe genau das hatte, was ich brauchte! Danke vielmals! –

0

Nun, Sie sollten etwas tun wie folgt aus:

public class ItemView extends FrameLayout implements WearableListView.OnCenterProximityListener 

Oder:

public class ItemView extends FrameLayout implements WearableListView.OnScrollListener 

Da die Schnittstelle WearableListView.Item nicht mehr gilt. Ich hoffe, Ihnen zu helfen.

Verwandte Themen