测试设备:GSM的Galaxy Nexus 4.2SPAN_EXCLUSIVE_EXCLUSIVE跨度不能有一个零长度误差每当EDITTEXT变空
在我的应用程序创建的对话(与两个内置键盘和swiftkey 3测试),以提示用户进行输入。该对话框显示,用户应该填一个字一个EditText在创建时,以及当用户将擦除的EditText我在logcat中收到以下错误消息的一切:
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
谷歌搜索以及如在计算器上搜索这里告诉我,可以用的东西来避免错误,如
inputBox.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
其中输入框是EditText上有问题。然而,我想保持自动完成功能,因为用户应该填写最有可能自动完成的单词。这里所使用的代码创建对话框:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final EditText inputBox = new EditText(this);
inputBox.setHint("New keyword");
builder.setTitle(R.string.add_keyword_dialogue_header)
.setView(inputBox)
.setPositiveButton("Add",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id {
mListAdapter.addItem(inputBox.getText()
.toString());
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
}
});
final AlertDialog dialog = builder.create();
dialog.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
dialog.show();
inputBox.requestFocus();
我的问题是,我怎么能防止错误存在的同时保留了自动完成功能?
我试过了你的建议,错误信息仍然产生。即使将整行注释掉logcat仍然显示相同的错误。 – ntlv
它只是默认的键盘发生,还是其他键盘也这样做?这听起来像是一个默认的键盘错误。在这种情况下,答案可能与日志消息一起存在。 –
它与默认键盘和Swiftkey 3一起发生。还有一些Google搜索引导了我: http://support.swiftkey.net/forums/116693-2-swiftkey-bugs-/suggestions/2994580-span- exclusive-exclusive-span-can-have-a-zero- 我无法找到任何类似的缺省键盘报告。 – ntlv