如何在整数中使用插入空间(android studio,java)

问题描述 投票:0回答:1

我是 android 的新手,我正在开发一个 android 项目,我想将空格插入整数。我试过用我的方式编码,但它没有显示我想要的。

我的代码

String first = "12 ";
Integer id = 1234;

String new id = String.format("%04d ", id);

btnGenerate.setOnClickListener(view -> {
            MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
            try {
                BitMatrix bitMatrix = multiFormatWriter.encode(first + newid, BarcodeFormat.QR_CODE,400,400);
                BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
                Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix);
                qrcodeIv.setImageBitmap(bitmap);
                InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                manager.hideSoftInputFromWindow(minNp.getApplicationWindowToken(), 0);
            } catch (WriterException e) {
                e.printStackTrace();
            }
        });

结果:

扫描后显示二维码图片:12 1234

我期待什么:12 00 00 12 34

java android qr-code
1个回答
0
投票

我是Gulshan Negi。 嗯,我在谷歌上搜索了一下,我发现你应该使用更新的代码: 这是源代码:

String first = "12 ";
Integer id = 1234;
String paddedId = String.format("%08d", id); // pad with leading zeros
StringBuilder spacedId = new StringBuilder();
for (int i = 0; i < paddedId.length(); i += 2) {
    spacedId.append(paddedId.substring(i, i + 2)).append(" "); // insert space between every two digits
}
String newId = spacedId.toString().trim(); // remove trailing space

btnGenerate.setOnClickListener(view -> {
    MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
    try {
        BitMatrix bitMatrix = multiFormatWriter.encode(first + newId, BarcodeFormat.QR_CODE, 400, 400);
        BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
        Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix);
        qrcodeIv.setImageBitmap(bitmap);
        InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        manager.hideSoftInputFromWindow(minNp.getApplicationWindowToken(), 0);
    } catch (WriterException e) {
        e.printStackTrace();
    } 
});

希望对你有帮助。 谢谢

© www.soinside.com 2019 - 2024. All rights reserved.