monotouch.dialog を使用してテーブルのカスタム セルを完成させようとしていますが、セルの詳細テキスト ラベルの色を除いて、ほぼすべてが整理されています。
GetCell をオーバーライドして、EntryElement セルを次のようにカスタマイズしています。
public class CustomStyledEntryElementPlain : MonoTouch.Dialog.EntryElement
{
public CustomStyledEntryElementPlain (string _caption, string _value) : base(string.Empty,string.Empty,string.Empty,false)
{
KeyboardType = UIKeyboardType.Default;
Value = _value;
ReturnKeyType = UIReturnKeyType.Done;
Caption = _caption;
}
public override UITableViewCell GetCell(UITableView tableView) {
var cell = base.GetCell(tableView);
cell.BackgroundColor = Resources.XDarkGrayColor;
cell.TextLabel.TextColor = Resources.XWhiteColor;
cell.BackgroundView = new UIView (RectangleF.Empty);
cell.DetailTextLabel.TextColor = UIColor.White; //this line causes the error
return cell;
}
}
次に、次のように要素を作成します。
new CustomSection ("Testing"){
new CustomStyledEntryElementPlain("Test","Test1"),
new CustomStyledEntryElementPlain("Test","Test2")
},
ただし、テーブルを表示すると、「System.NullReferenceException がスローされました。オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。
これを最初にプロトタイプしたときに、DetailTextLabel のテキストの色が機能していると断言できたはずです。コースの変更をコメントアウトすると、テーブルとセルが正常に表示されますが、テキストは黒ですが (白に変更したい!)
なぜ私がこれを取得しているのか、誰かが何か考えを持っていますか?