第一次调用Edittext.SelectAll()在Xamarin中不起作用android
问题描述:
我想在点击它时选择Edittext的文本。第一次调用Edittext.SelectAll()在Xamarin中不起作用android
public EditText Stock { get; set; }
Stock.Click += (o, arg) => {
Stock.SelectAll();
};
当我点击股票时,Stock.SelectAll()被正确调用。但启动我的应用程序并单击文本后第一次,它不会被选中。以后每次点击它都会按预期工作。
答
如果您想在选中焦点/点击时选择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'工作正常。 –
“但是第一次启动我的应用程序后文本将不会被选中”您希望文本被选中而没有点击吗? – Sufian
这个点击监听器何时连接? – Sufian
在我的类的构造函数中,我膨胀视图后 –