【发布时间】:2014-10-16 17:25:33
【问题描述】:
如下所示,我制作了 EditText。不幸的是,当我在我的 LG G3 上进行测试时,EditText 不允许我删除由 setText() 设置的任何文本部分。我可以选择此文本,然后通过键入内容将其删除,但我不明白为什么我不能通过按软键盘上的退格键简单地删除 contentView.getPath()。我还可以在任何地方键入任何文本并删除键入的文本,但不能删除以编程方式设置的文本。
private void pathBox(){
final EditText pathField = requestTyping(); //returns previously styled EditText
pathField.setHint(R.string.goto_hint);
pathField.setText(contentView.getPath(), BufferType.EDITABLE);
pathField.setImeOptions(EditorInfo.IME_ACTION_GO);
pathField.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_CLASS_TEXT);
pathField.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event){
if (actionId == EditorInfo.IME_ACTION_GO || actionId == EditorInfo.IME_ACTION_DONE
|| event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
contentView.setPath(pathField.getText().toString());
pathField.clearFocus();
AppUI.hideKeyboard(v);
return true;
}
return false;
}
});
AppUI.showKeyboardFor(pathField);
}
整个问题如下所示:https://www.youtube.com/watch?v=FyE67JAcGC4
我应该怎么做才能启用编辑、修改和删除所有 EditTexts 的内容?
【问题讨论】:
-
你试过
pathField.setText("");吗? -
尝试使用 setText(contentView.getPath()); 设置您的 editText 文本?
-
我将标准 setText(String) 更改为 setText(String, BufferType) 因为标准方式似乎不起作用。然而,在 Bluestacks 模拟器上一切看起来都很好。我想显示可以修改的路径,所以我按照我附加的代码进行操作。我将上传短视频来演示它的外观。
标签: android text android-edittext backspace