簡體   English   中英

Android標簽中的焦點監聽器

[英]Focus listener in android tabs

我在活動中使用的是選項卡滑動問題,當我嘗試在編輯文本中輸入數據時,我的移動設備有一個硬件鍵盤,它沒有接受輸入,因此我使用onTouchListener()重新啟用了編輯文本的焦點,效果很好但是用戶必須至少觸摸每個編輯文本一次,這是我的問題,有什么辦法可以解決這個問題,以便帽子焦點偵聽器可以像在活動中那樣正常工作

我嘗試過

公共無效onViewCreated(視圖視圖,捆綁saveInstanceStateState){super.onViewCreated(視圖,savedInstanceState); edit_mobilenor.postDelayed(new Runnable(){@Override public void run(){// TODO自動生成的方法存根edit_mobilenor.requestFocusFromTouch();}},400); }也沒用

廣泛搜索之后,我知道該錯誤是:TabHost在onAttachedToWindow()中注冊了一個OnTouchModeChangeListener,當離開觸摸模式時,該方法會竊取焦點。

因此,要重新獲得該編輯文本的焦點,有兩種方法

1)you can use onTouchListener which will re produce focus for edit text like  this
 editText.onTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    v.requestFocusFromTouch();
    return false;
    }
}

2)you can remove the OnTouchModeChangeListener in onAttachedToWindow() using the following code

mTabHost.addOnAttachStateChangeListener(new OnAttachStateChangeListener() {

        @Override
        public void onViewDetachedFromWindow(View v) {}

        @Override
        public void onViewAttachedToWindow(View v) {
                  mTabHost.getViewTreeObserver().removeOnTouchModeChangeListener(mTabHost);
        }
    });

這個問題的答案是2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM