2017-08-04 13 views
0

クリックすると、編集テキストのテキストを選択します。Xamarin androidで動作していないEdittext.SelectAll()の最初の呼び出し

public EditText Stock { get; set; } 

Stock.Click += (o, arg) => { 
    Stock.SelectAll(); 
}; 

ストックをクリックするとStock.SelectAll()が正しく呼び出されます。しかし、私のアプリケーションを起動してテキストをクリックした後初めて、それは選択されません。クリックするたびに、意図どおりに動作します。

+0

「私のアプリケーションを起動した後はじめてテキストが選択されません」テキストをクリックせずに選択しますか? – Sufian

+0

このクリックリスナーはいつ添付されますか?ビューを膨らませた後、私のクラスのコンストラクタに – Sufian

+0

を置いた –

答えて

0

EditTextがフォーカス/クリックされたときにすべてのテキストを選択する場合は、EditTextのxmlにandroid:selectAllOnFocus="true"と設定するだけです。

それとも背後にあるコードでは、あなたが設定することがあります。

Stock.SetSelectAllOnFocus(true); 

それとも、代わりにClickイベントのFocusChangeイベントを使用して、イベントを介してすべてのテキストを選択するために主張した場合、最初のクリックがフォーカス関連のイベントによって処理され、それは解雇されません。例:

Stock.FocusChange += (sender, e) => 
{ 
    if (e.HasFocus) 
    { 
     Stock.SelectAll(); 
     var a = Stock.SelectionStart; 
     var b = Stock.SelectionEnd; 
     var text = Stock.Text.Substring(a, b); 
    } 
}; 
+0

問題は、最初の編集テキストであるため、すでに焦点が当てられているため、これは機能しません。 –

+0

@ b.holz、本当に?私はちょうどコードをテストし、最初にフォーカスを当てた 'EditText'のためにうまく動作します。 –

関連する問題