0

を私はExpandableListViewのすべての子アイテム、 でのEditTextを持っていますが、問題はありません。 私はのEditTextをクリックすると、時々、カーソルが正常に点滅している、 時にはカーソルが表示されず、 またはカーソルが表示されますが点滅しません。カーソルが点滅または表示され

私は多くの方法を試しましたが、誰も働いていません。

以下、私が試してみました通りですが、動作していない:Javaの

における子どものあらゆるのEditTextのため

  1. セット

    View.OnFocusChangeListener onFocus = new View.OnFocusChangeListener() { 
        @Override 
        public void onFocusChange(View v, boolean hasFocus) { 
         v.dispatchWindowFocusChanged(hasFocus); 
        } 
    }; 
    
  2. ExpandableListView

    android:descendantFocusability="afterDescendants" 
    android:focusable="false" 
    
  3. ためのセットxmlの子アイテムに設定します

    android:textCursorDrawable="@null" 
        android:cursorVisible="true" 
    

私はこの問題については考えている私はいくつかの理由でEditTextの内側の無効化タイマーが停止したときにそれが起こっていたように、非常に感謝~~~

+0

子アイテムにアンドロイド:focusableInTouchMode = "true"とアンドロイド:focusable = "false"を追加しましたか? – Nas

+0

@Nas Thanks〜あなたのコードを試したところ、うまくいきません。 TAT – DawnYu

+0

解決策は見つかりましたか? – Ircover

答えて

0

、助けてください。なぜ私は考えていない。

私が作ることができるのは自分のクラスを作成してEditTextのクラス内のビューを無効にすることです。

@Override 
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { 
    super.onFocusChanged(focused, direction, previouslyFocusedRect); 
    if(focused) { 
     handler.postDelayed(this, 200); 
    } else { 
     handler.removeCallbacks(this); 
    } 
} 

@Override 
public void run() { 
    invalidate(); 
    new Thread(new Runnable() { 
     @Override 
     public void run() { 
      try { 
       Thread.sleep(250); 
       if(hasFocus()) { 
        handler.post(MyEditText.this); 
       } 
      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
     } 
    }).start(); 
} 

私はそれが良い解決策ではないと思います。あなたがよく知っていれば、それを書いてください。

関連する問題