Просто установите это в файл v21 / styles.xml
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
и убедитесь, что
<item name="android:windowTranslucentStatus">false</item>
Сообщение об ошибке жалуется на защищаемый конструктор, а не на класс. Но вы явно не определили конструктор в опубликованном вами коде. В этом случае в соответствии с JLS конструктор по умолчанию будет защищен (так же, как и класс).
Вам необходимо определить общедоступный
конструктор для Внутреннего
класса
:
public class COne {
protected class Inner implements IOne{
public Inner() { }
public void f(){System.out.println("Inner class of COne");}
}
}
Это ясно. Но вот что действительно странно.
Согласно JLS , если CTwo расширяет COne.Inner, ожидается доступ к защищенному конструктору Inner, но на практике это не так ... См. Ниже.
package p1;
public class COne {
public static class Inner {
protected Inner() {}
}
}
package p2;
public class CTwo extends COne.Inner {
public void getIface() {
new COne.Inner();
// Compile time error anyway with the same complains:
// "Inner() has protected access in p1.COne.Inner"
// ...unlike my expectations...
}
}