【发布时间】:2016-09-27 15:40:13
【问题描述】:
我有一部使用谷歌键盘的安卓手机。在任何其他应用程序的任何 EditText 字段上,如果我使用滑动方法输入文本,它会在每个单词后添加一个空格。但是,我已经编写了自己的应用程序,并且当我使用滑动方法在我的 EditText 字段上输入文本时,它不会添加空格,因此单词会一起出现。这很烦人。
我有一个添加了线性视图的 AlertDialog。在该线性视图上有一个文本 EditText。这是我创建 EditText 并将其添加到视图的代码:
final EditText titleBox = new EditText(this);
titleBox.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_CORRECT |
InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES |
InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE);
titleBox.setHint("Title");
layout.addView(titleBox);
任何想法为什么它不在我的单词之间添加空格?
这被标记为可能重复,但这个问题是关于不允许第一个字符是空格....我问的是允许在通过键盘滑动输入的单词之后留一个空格。
更新
这里是类似页面的完整方法,它有同样的问题,它比我排查的初始页面稍微简单一些。这个甚至没有关联的 LinearLayout:
private void addBudget(final Budget budget) {
EditText taskEditText = new EditText(this);
taskEditText.setId(R.id.add_budget_text);
taskEditText.setInputType(InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
String dialogTitle = "Add budget";
final AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle(dialogTitle)
.setMessage("What do you want to call this budget?")
.setView(taskEditText)
.setPositiveButton("Save", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// final String task = ;
SQLiteDatabase db = mHelper.getWritableDatabase();
Budget lBudget = new Budget();
if (budget != null) {
lBudget = budget;
}
EditText taskEditText = (EditText) findViewById(R.id.add_budget_text);
lBudget.title = String.valueOf(taskEditText.getText());
// Init custom budget object //new Budget(){{ title=task; id = budgetID;}}
int retId = mHelper.saveBudget(db, lBudget);
db.close();
int retRow = updateUI(retId);
mTaskListView.smoothScrollToPosition(retRow);
}
})
.setNegativeButton("Cancel", null)
.create();
// Handle done on soft keyboard
taskEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
int result = actionId & EditorInfo.IME_MASK_ACTION;
if (result == EditorInfo.IME_ACTION_DONE) {
dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
return true;
}
return false;
}
});
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
dialog.show();
}
【问题讨论】:
-
滑动文本是什么意思?
-
我想你可以看看这个stackoverflow.com/a/19514175/5319409希望对你有帮助
-
滑动我的意思是,您可以点击按键,或使用滑动动作在字段中输入文本。当然,您可以手动键入空格键,但是在滑动时,它会为您处理单词之间的空格。在我的应用中刷卡不输入空格键。
-
@AndrewIndayang 这不是重复的。该链接问题试图不允许空格作为输入的第一个字符。这几乎是相反的。我需要允许在使用谷歌键盘上的滑动动作输入的单词之间添加空格。我在手机上尝试过的所有其他应用程序都可以运行,但我可以让它在我自己的应用程序中运行。
标签: android android-layout android-edittext swipe android-alertdialog