我得到一個問題,從原生的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