вы должны использовать TYPE_CLASS_NUMBER .
EDIT:
Как этот ответ
android:inputType="textPassword|number"
игнорировать textPassword и принимать только номер, но не пароль.
Поэтому вы должны использовать android:inputType="textPassword|number"
с android:password="true"
.
, который кажется единственным решением.
Если вам приходится работать с файлами, поступающими из Excel, с символами новой строки в ячейках, есть и решение.
Большим недостатком этого способа является то, что точки с запятой или двойные кавычки в строках не допускаются.
Я предпочитаю идти без точек с запятой
if file.respond_to?(:read)
csv_contents = file.read
elsif file_data.respond_to?(:path)
csv_contents = File.read(file.path)
else
logger.error "Bad file_data: #{file_data.class.name}: #{file_data.inspect}"
return false
end
result = "string"
csv_contents = csv_contents.force_encoding("iso-8859-1").encode('utf-8') # In my case the files are latin 1...
# Here is the important part (Remove all newlines between quotes):
while !result.nil?
result = csv_contents.sub!(/(\"[^\;]*)[\n\r]([^\;]*\")/){$1 + ", " + $2}
end
CSV.parse(csv_contents, headers: false, :row_sep => :auto, col_sep: ";") do |row|
# do whatever
end
Для меня решение отлично работает, если вы имеете дело с большими файлами, у вас могут возникнуть проблемы с ним.
Если вы хотите использовать без кавычек, просто замените точку с запятой в регулярном выражении кавычками.
Другое простое решение для устранения странного форматирования, вызванного Excel, состоит в том, чтобы скопировать и вставить данные в электронную таблицу Google, а затем загрузить их в формате CSV.