Проблема с тенью Плавающая кнопка действия (api = 19)

Причина, по которой вы не можете сделать это, состоит в том, что список доступен для записи. Предположим, что это было законно, и посмотрите, что пойдет не так:

List<Cat> cats = new List<Cat>();
List<Animal> animals = cats; // Trouble brewing...
animals.Add(new Dog()); // hey, we just added a dog to a list of cats...
cats[0].Speak(); // Woof!

Хорошо, собака, мои кошки, это плохо.

Функция, которую вы хотите, называется «общей ковариацией», и она поддерживается в C # 4 для интерфейсов, которые, как известно, являются безопасными. IEnumerable<T> не имеет никакого способа записи в последовательность, поэтому он безопасен.

class Animal    
{    
    public virtual void Play(IEnumerable<Animal> animals) { }    
}    
class Cat : Animal    
{    
    public override void Play(IEnumerable<Animal> animals) { }    
}    
class Program    
{    
    static void Main()    
    {    
        Cat cat = new Cat();    
        cat.Play(new List<Cat>());    
    }    
}  

Это будет работать на C # 4, потому что List<Cat> конвертируется в IEnumerable<Cat>, который можно конвертировать в IEnumerable<Animal>. Нельзя использовать Play IEnumerable<Animal>, чтобы добавить собаку к тому, что на самом деле является списком кошек.

0
задан Dima 18 January 2019 в 12:08
поделиться

3 ответа

Java

setStateListAnimator(null);

XML

android:stateListAnimator="@null"
0
ответ дан Kannan panneer selvam 18 January 2019 в 12:08
поделиться

Переопределить высоту по умолчанию FAB, добавив

android:elevation="0dp"
0
ответ дан Ganesh_Shinde 18 January 2019 в 12:08
поделиться

использовать этот код

android:elevation="0dp" 
app:elevation="0dp"
0
ответ дан Kannan panneer selvam 18 January 2019 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: