見つけたシナリオを再現できます。 xamarinフォームのソースコードのEntryRendererをチェックすることにより、我々は
_textView.Hint = Element.Placeholder;
Hint
プロパティは、AndroidネイティブEditText
からのものであることを見つけることができる、とレンダラ対象物は、AndroidのネイティブでEditText
から継承さEntryEditTextです。
だから私はxamarinアンドロイドのプロジェクトを作成し、次のコードのようにヒントを使用してのEditTextを使用しています
public class MainActivity : Activity
{
EditText et;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
et = (EditText)FindViewById(Resource.Id.edittext);
et.Click += Et_Click;
}
private void Et_Click(object sender, System.EventArgs e)
{
et.Hint = "";
}
}
私はのEditTextキーボードショーをクリックして、ヒントが消え、同時にとき。
ポータブルコード
public class MyEditText : View
{
}
アンドロイドプロジェクトコード
public class MyEditTestRenderer : ViewRenderer<MyEditText, EditText>,Android.Views.View.IOnClickListener
{
EditText et;
protected override void OnElementChanged(ElementChangedEventArgs<MyEditText> e)
{
base.OnElementChanged(e);
if (e.OldElement == null)
{
// perform initial setup
et = new EditText(this.Context);
SetNativeControl(et);
}
et.Click += Et_Click;
et.Hint = "name";
// et.SetOnClickListener(this);
}
private void Et_Click(object sender, EventArgs e)
{
et.Hint = "";
}
}
をしかし、それは次のことができます。私も、次のコードのようにエントリの顧客レンダラを作成し
最初にEditText
をクリックしたときにクリックイベントを検出しません。 EditText
を2回クリックすると、Hint
が表示されなくなりました。
プレースホルダテキストを削除しているなぜあなたはhttps://bugzilla.xamarin.com/
にこの問題を報告することができますか?それはそれ自身のものであり、フィールドが空のときに再び表示されます。 – irreal
プレースホルダは、入力を開始したときにのみ削除されます。エントリがフォーカスされているときにプレースホルダを削除したい。 –