2017-08-04 41 views
0

我想在點擊它時選擇Edittext的文本。第一次調用Edittext.SelectAll()在Xamarin中不起作用android

public EditText Stock { get; set; } 

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

當我點擊股票時,Stock.SelectAll()被正確調用。但啓動我的應用程序並單擊文本後第一次,它不會被選中。以後每次點擊它都會按預期工作。

+0

「但是第一次啓動我的應用程序後文本將不會被選中」您希望文本被選中而沒有點擊嗎? – Sufian

+0

這個點擊監聽器何時連接? – Sufian

+0

在我的類的構造函數中,我膨脹視圖後 –

回答

0

如果您想在選中焦點/點擊時選擇EditText中的所有文本,只需在xml中設置android:selectAllOnFocus="true"EditText即可。

還是在後面的代碼,你可以通過設置:

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'工作正常。 –

相關問題