2014-09-27 53 views
0

我使用的是自定義的表情符號圖標後,我用一個按鈕來顯示圖標佈局,並當上了EDITTEXT用戶點擊我再次顯示鍵盤,下面是我的代碼,的EditText失去curosr顯示softkeyboard

Emojicon.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     if (MotionEvent.ACTION_UP == event.getAction()) { 
      emojLayOut.setVisibility(View.GONE); 
      InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
      imm.showSoftInput(Emojicon, 0); 
      Emojicon.requestFocus(); 

     } 
     return true; 
    } 
}); 

我遇到的問題是我失去了光標,複製,剪切和粘貼。

我在這裏做錯了什麼?

回答

0

這解決了它,我不得不使用setOnFocusChangeListener並清除表情符號按鈕上的焦點。

emojButton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     emojLayOut.setVisibility(View.VISIBLE); 

     InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0); 

     getContentResolver().notifyChange(Uri.parse(Commons.COMMENT_CONTENT_TYPE), null); 
     edittext.clearFocus(); 
    } 
}); 

edittext.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View v, boolean hasFocus) { 
       if (hasFocus) { 

        InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); 
        imm.showSoftInput(edittext, 
          InputMethodManager.SHOW_IMPLICIT); 
        emojLayOut.setVisibility(View.GONE); 


      } 
     }); 
相關問題