測試設備: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