2013-04-22 24 views
1

在我的應用程序中,我有EditText元素,但是我像TextView一樣使用它(它不可編輯)。在android中以編程方式獲取選擇句柄

我想通過點擊某個按鈕來選擇該字段中的所有文本。 我的下一個代碼

Selection.setSelection((Spannable) et.getText(),0, et.getText().length()); 
et.setSelected(true); 

它工作正常,並選定文本,但在那之後我不能改變選擇的兩端做。 如何以編程方式調用選擇句柄?

我也受阻OnLongClick,因爲我只需要複製選項和自定義按鈕添加它。

回答

0

嘗試一些這樣的事

et.setOnTouchListener(new OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       // TODO Auto-generated method stub 
      int strt= et.getSelectionStart(); 
      int end = et.getSelectionEnd(); 
       Log.i(" Selectionm",et.getText().toString().substring(strt, end)); 
       return false; 
      } 
     }); 
+0

感謝您的回答,但沒有發生。我在LogCat中獲得了所有選定的文本。 – lubart 2013-04-22 10:47:51

1

您需要確保該EditText在佈局文件屬性android:textIsSelectable="true"

您還可以通過 et.setTextIsSelectable(true);

做同樣的事情,但請確保您的應用程序的minSdkVersion11使用此。

+0

感謝您的回答!我發現這種方式,但我需要一些代碼minSdkVersion = 8。可能嗎?可能是一些解決方法?我只需要一個可能性自定義選擇文本並複製它,但沒有軟鍵盤和上下文菜單。 – lubart 2013-04-22 10:51:04

相關問題