我得到一个问题,从原生的Android JAVA代码转换代码Xamarin C#的Android代码转换Android的Java代码来Xamarin C#
我有一类要帮我延时启动在我的自定义AutoComleteTextView
搜索:
public class DelayAutoCompleteTextView : AutoCompleteTextView
{
public static Context _Context {get; set;}
private static Android.Util.IAttributeSet _Attrs { get; set; }
public DelayAutoCompleteTextView(Context context, Android.Util.IAttributeSet attrs) : base(context, attrs)
{
_Context = context;
_Attrs = attrs;
}
private static int MESSAGE_TEXT_CHANGED = 100;
private static int DEFAULT_AUTOCOMPLETE_DELAY = 750;
private int mAutoCompleteDelay = DEFAULT_AUTOCOMPLETE_DELAY;
private ProgressBar mLoadingIndicator;
public class mHandler : Handler
{
public override void HandleMessage(Message msg)
{
DelayAutoCompleteTextView.base.PerformFiltering((Java.Lang.ICharSequence)msg.Obj, msg.Arg1);
}
}
public void setLoadingIndicator(ProgressBar progressBar)
{
mLoadingIndicator = progressBar;
}
public void setAutoCompleteDelay(int autoCompleteDelay)
{
mAutoCompleteDelay = autoCompleteDelay;
}
protected override void PerformFiltering(Java.Lang.ICharSequence text, int keyCode)
{
if (mLoadingIndicator != null)
{
mLoadingIndicator.Visibility = ViewStates.Visible;
}
mHandler.removeMessages(MESSAGE_TEXT_CHANGED);
mHandler.sendMessageDelayed(mHandler.obtainMessage(MESSAGE_TEXT_CHANGED, text), mAutoCompleteDelay);
}
public override void OnFilterComplete(int count)
{
if (mLoadingIndicator != null)
{
mLoadingIndicator.Visibility = ViewStates.Gone;
}
base.OnFilterComplete(count);
}}
但有3个错误消息:
1)
DelayAutoCompleteTextView.base.PerformFiltering((Java.Lang.ICharSequence)msg.Obj, msg.Arg1);
2)
mHandler.removeMessages(MESSAGE_TEXT_CHANGED);
3)关于Java我
mHandler.sendMessageDelayed(mHandler.obtainMessage(MESSAGE_TEXT_CHANGED, text), mAutoCompleteDelay);
请帮我转换。 对不起,我英文不好)
谢谢你的回答,但我仍然有一个错误,因为我没有进入基地(AutoCompleteTextView)类 私人只读处理器mHandler =新的处理程序(委托(信息MSG){ base.PerformFiltering( (Java.Lang.ICharSequence)msg.Obj,msg.Arg1); }); 这个类在github https://github.com/luckychel/DanfossFindAnalogs/blob/master/DelayAutoCompleteTextView.cs 2其他错误已经走了,谢谢! – Luckychel
@Luckychel尝试委托移动到方法,即移动委托的内容为'私人无效OnHandlerMessage(消息MSG)'和改变'mHandler'初始化为'新处理程序(OnHandlerMessage)'。 – EvilTak
非常感谢!你拯救我的一天! – Luckychel