Разверните свою функцию сортировки, чтобы выглядеть так:
function sortF(ob1,ob2) {
if (ob1.strength > ob2.strength) {
return 1;
} else if (ob1.strength < ob2.strength) {
return -1;
}
// Else go to the 2nd item
if (ob1.name < ob2.name) {
return -1;
} else if (ob1.name > ob2.name) {
return 1
} else { // nothing to split them
return 0;
}
}
Сравнение <
и >
по строкам - это алфавитное сравнение.
В большинстве случаев метод sendMessage()
в PrinterModule имеет методы, реализованные в print
и moveToNextLine
. Следовательно, символ печатается, и курсор перемещается на следующую строку сразу после вызова метода sendMessage()
.
Вам нужно будет внести изменения в реализацию метода sendMessage()
в PrinterModule. Удалите вызовы print
и newLine
из метода sendMessage()
. Затем вы можете отправить столько символов, сколько вы хотите в outputStream
. Если вы хотите наконец-то распечатать, просто отправьте команду print
на принтер.
UPDATE
blockquote>Метод
sendMessage()
вызываетsendMsg()
, что в конечном итоге выполняет операторsendByte(new byte[]{(byte) 13, (byte) 10, (byte) 0}, dev);
. Эта строка отвечает за печать после каждого вызоваsendMsg()
. ЭтотbyteArray
содержит команду для печати и добавления newLine каждый раз, когда ему отправляется какое-либо сообщение. Удалите эту строку отсюда.После этого продолжайте посылать символы на принтер, используя
sendMessage()
. Когда вы, наконец, захотите распечатать весь оператор, отправьте только командуPrinterModule.sendByte(new byte[]{(byte) 13, (byte) 10, (byte) 0}, dev);
. Все ваши персонажи будут напечатаны в одну строку, если будет достаточно места, в противном случае он будет перемещен на следующую строку.ОБНОВЛЕНИЕ 2
blockquote>Вот ссылка на UsbController . Вы можете напрямую добавить это как новый файл в свой проект (не нужно добавлять файлы SDK). Способ использования класса
UsbController
находится здесь в UsbFragment .