我想在我的应用程序中使用ediText字段来响应onTextChange事件,以便在文本更改时调用方法。我使用dot42制作应用程序,但只能找到Java提供的教程。
答案 0 :(得分:4)
这将是一个最小的实现。我希望它可以帮助你看到Java和C#之间的差异模式 - 它真的很简单。
[Activity]
public class MainActivity : Activity, Android.Text.ITextWatcher
{
protected override void OnCreate(Bundle savedInstance)
{
base.OnCreate(savedInstance);
SetContentView(R.Layouts.MainLayout);
EditText editText = FindViewById<EditText>(R.Ids.status);
editText.AddTextChangedListener(this);
}
public void AfterTextChanged(Android.Text.IEditable s)
{
throw new NotImplementedException();
}
public void BeforeTextChanged(Java.Lang.ICharSequence s, int start, int count, int after)
{
throw new NotImplementedException();
}
public void OnTextChanged(Java.Lang.ICharSequence s, int start, int before, int count)
{
throw new NotImplementedException();
}
}
接口实现由Visual Studio生成。
答案 1 :(得分:1)
在Java中,您可以通过实现TextWatcher接口来实现。 Dot42 documentation说
AddTextChangedListener(ITextWatcher watcher)
Adds a TextWatcher to the list of those whose methods are called whenever this TextView's text changes.`
所以实施ITextWatcher,在AfterTextChanged
做一些事情就可以了。