我正在編寫必須向用戶顯示EditText小部件的動態創建表的應用程序。將EditText限制爲帶符號的十進制數
我當前的代碼:
/**
* Create and display the table of EditTexts on the screen
* @param x Number of columns
* @param y Number of rows
*/
private void createTable(int x, int y) {
TableLayout table = (TableLayout) findViewById(R.id.TableLayout01);
etGrid = new EditText[y][x];
for (int i = 0; i < y; i++) {
TableRow row = new TableRow(this);
for (int j = 0; j < x; j++) {
EditText et = new EditText(this);
et.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL
| InputType.TYPE_NUMBER_FLAG_SIGNED);
et.setSingleLine();
et.setMinimumWidth(getWindowManager().getDefaultDisplay().getWidth()/x);
etGrid[i][j] = et;
row.addView(et);
}
table.addView(row,new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
}
的問題是在這條線,這並不在所有的工作:
et.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL
| InputType.TYPE_NUMBER_FLAG_SIGNED);
在我的Kindle Fire我可以限制爲十進制值與InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL
或者用InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED
簽名,但不簽名爲十進制。代碼有什麼問題?
我真的沒有看到您的代碼有任何問題。你可以嘗試使用.setRawInputType();相反,如果這也不起作用,它可能是Amazone搞砸了Kindle –