3

Это был мой build.gradle файл:Android Design Support Gradle ошибка

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

, прежде чем добавить:

compile 'com.android.support:design:22.2.0' 

Теперь, когда я построить или перестроить свой проект (я синхронизируются gradle несколько раз) Я получаю эту ошибку:

.../utils/CustomEditText.java 
Error:(6, 42) Gradle: error: cannot find symbol class TintEditText 
Error:(14, 35) Gradle: error: cannot find symbol class TintEditText 
Error:(37, 8) Gradle: error: cannot find symbol method isInEditMode() 
Error:(57, 3) Gradle: error: cannot find symbol method setTypeface(Typeface) 
Error:(65, 5) Gradle: error: method does not override or implement a method from a supertype 
Error:(67, 23) Gradle: error: cannot find symbol variable super 
... 

Внутри моего CustomEditText (который простирается TintEditText) и внутри всех видов деятельности, которые используют это CustomEditText.

импорта не бросает какую-либо ошибку, ни Class:

import android.support.v7.internal.widget.TintEditText; 


Что это может быть?

UPDATE: Использование ianhanniballake предложения, AppCompatEditText вместо внутреннего TintEditText, решающей ошибка времени компиляции и ответы на этот вопрос, но теперь я, имеющую ошибку во время выполнения:

java.lang.IllegalArgumentException: AppCompat does not support the current theme features 

I мы видели некоторый вопрос, связанный с этим, и упомянутое решение было примерно таким:

<style name="MyMaterialTheme" parent="Theme.AppCompat.NoActionBar"> 
     <item name="windowNoTitle">true</item> 
     <item name="windowActionBar">false</item> 
     ... 
</style> 

Но я не хочу подбирать этот подход, потому что у меня есть Activities, которые используют ActionBar и другие, которые этого не делают. Мои стили:

<style name="MyTheme" parent="Theme.AppCompat.Light"> 
     <item name="colorControlNormal">@color/txt_light_grey</item> 
     <item name="colorControlActivated">@color/default_orange</item> 
     <item name="colorControlHighlight">@color/txt_light_grey</item> 
    </style> 

    <style name="MyTheme.ActionBar.Orange" parent="MyTheme"> 
     <item name="windowActionBarOverlay">false</item> 
     <item name="colorPrimary">@color/default_orange</item> 
    </style> 

    <style name="MyTheme.FullScreen" parent="MyTheme"> 
     <item name="windowActionBar">false</item> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowFullscreen">true</item> 
     <item name="android:windowContentOverlay">@null</item> 
    </style> 

И в моей базе Activity я:

getWindow().requestFeature(mActionBarView != null ? Window.FEATURE_ACTION_BAR : Window.FEATURE_NO_TITLE); 

Чтобы включить или отключить ActionBar.
Как я уже говорил, это работает очень хорошо, пока я не добавлю 'com.android.support:design:22.2.0' или не обновляю appcompat-v7:22.0.0 до 22. .0. Я просто хочу, чтобы использовать TabLayout, но я предполагаю, что я не буду ...

+0

Я получил эту ошибку также после обновления до последней библиотеки дизайна Android. Я только что изменился на Edittext. – Psypher

ответ

5

В версии AppCompat 22.1.0, вы должны использовать AppCompatEditText вместо внутреннего TintEditText.

+0

В чем разница между AppcompatEdittext и обычным Edittext. Я не вижу никакой разницы между ними. – Psypher

+0

@Ranjith - как указано в документации и сообщении в блоге, с которым я связан в ответе на этот вопрос, автоматически заменяется «EditText» с помощью 'AppCompatEditText', когда вы используете' AppCompatActivity' или эквивалент, чтобы вы не заметили разницы - 'AppCompatEditText' полезен, если вы создаете пользовательский подкласс' EditText', но хотите, чтобы тонирование было предоставлено AppCompat. – ianhanniballake

+0

Thankyou !!!!!!! – Psypher

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