2014-12-12 2 views
6

Приложение для моего использования использует WearableListView.Item для ListView, и оно отлично работало и скомпилировано - но затем я обновил Android Studio, плагин Gradle, инструменты SDK и т. Д., И теперь он выиграл ' т компилировать.WearableListView.Item отсутствует в поддерживаемой библиотеке поддержки 1.1

Мой износ build.gradle содержит:

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.+' 
} 

Теперь он говорит: Ошибка: (141, 84) Ошибка: не удается найти символ класса Item

Любая помощь там, пожалуйста?

ответ

5

Это потому, что API был изменен. Теперь это зависит от RecyclerView

Here is a gist, показывающий, как реализовать WearableListView.

+0

Это выглядит интересно - откуда вы это взяли? – barkside

+0

Я только что узнал, как это сделать сам. –

+1

Я пробовал это, и вы действительно прав насчет изменения интерфейса. Прием. Анимация не очень хорошо работает в вашем примере, но esp при быстрой прокрутке. Я предлагаю не анимировать вообще и просто установить масштаб (от 1 до 1,5) и альфа. Можете ли вы вставить соответствующие изменения в интерфейс в свой ответ? – barkside

0

Похоже (source), что обойти это вам нужно изменить:

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

в

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

Это выглядит быть только временное решение до того, как надлежащее исправление приходит.

+3

Это всего лишь способ обхода старой версии. –

2

Вот хорошая реализация WearableListView с использованием v1.1.0 из носимой библиотеки поддержки, которая до сих пор поддерживает надлежащее поведение трансфокации (непосредственно из официальных образцы Google):

android-WatchFace/DigitalWatchFaceWearableConfigActivity.java

+0

Я не понял, что эта часть образца имела именно то, что мне нужно! Большое спасибо! –

0

Теперь, вы должны сделать что-то как то:

public class ItemView extends FrameLayout implements WearableListView.OnCenterProximityListener 

Или:

public class ItemView extends FrameLayout implements WearableListView.OnScrollListener 

Поскольку интерфейс WearableListView.Item не применяется больше. Я надеюсь вам помочь.

Смежные вопросы