全て、
オーバーライドする ViewGroup サブクラスがありますOnCreateDrawableState()
(Xamarin.Android は C# にあるため、パスカル ケーシングを許してください)。
ただし、私のオーバーライドOnCreateDrawableState()
は呼び出されません。さんに電話してみましRefreshDrawableState()
たDrawableStateChanged()
。RequestLayout()
、およびInvalidate()
。
何も機能していないようです。これは方法です:
/// <summary>
/// Handles the create drawable state event by adding in additional states as needed.
/// </summary>
/// <param name="extraSpace">Extra space.</param>
protected override int[] OnCreateDrawableState (int extraSpace)
{
int[] drawableState = base.OnCreateDrawableState(extraSpace + 3);
if (Completed)
{
int[] completedState = new int[] { Resource.Attribute.completed };
MergeDrawableStates(drawableState, completedState);
}
if (Required)
{
int[] requiredState = new int[] { Resource.Attribute.required };
MergeDrawableStates(drawableState, requiredState);
}
if (Valid)
{
int[] validState = new int[] { Resource.Attribute.valid };
MergeDrawableStates(drawableState, validState);
}
Android.Util.Log.Debug("ROW_VIEW", "OnCreateDrawableState Called");
return drawableState;
}
問題なく動作すると思いますが、呼び出されることはありません。ViewGroup 自体はListView
and/or にネストされてLinearLayout
いますが、何も役に立たないようです。
この関連する質問には、私にとって有効な回答がありません。