如何创建自定义字符串并动态填充它?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建自定义字符串并动态填充它?相关的知识,希望对你有一定的参考价值。

我正在创建一个应用程序,可以添加从按钮单击一些项目到recyclerView格式为“名称/数量/价格”,然后我点击一个名为“打印”的按钮后,它保存我的StringBuilder由不同的项目添加到recyclerView并发送它通过FTP到打印机。

现在它正常工作,但我现在要添加滑动删除到recyclerView,我将有删除StringBuilder对应recyclerView确切项目的问题。

你有什么建议我如何通过向recyclerView添加项目来制作自定义字符串,并在刷卡时删除相应的字符串?

这是我的onClick方法,我将项目添加到recyclerView,并将项目添加到stringBuilder“scontrino”,必须格式化,因为你可以看到方法与所有“”等...

    mAdapter.setOnItemClickListener(new Adapter.OnItemClickListener() {
        @SuppressLint("SetTextI18n")
        @Override
        public void onItemClick(final int position) {

            double prezzoScont;

            itemCassas.add(new ItemCassa(filteredList.get(position).getDeskS(),filteredList.get(position).getQuant(),filteredList.get(position).getPrice()));


                prezzo = (prezzo + (filteredList.get(position).getPrice()));


            scontrino
                    .append("<SELLITEM>").append("
")
                    .append("<DESCRIPTION>").append(filteredList.get(position).getDeskS()).append("</DESCRIPTION>").append("
")
                    .append("<QUANTITY>").append(filteredList.get(position).getQuant()).append("</QUANTITY>").append("
")
                    .append("<PRICE>").append(new DecimalFormat("#0.00").format(filteredList.get(position).getPrice())).append("</PRICE>").append("
")
                    .append("</SELLITEM>").append("
");


            price.setText(String.valueOf(new DecimalFormat("#0.00").format(prezzo)));
            exampleAdapter.notifyItemInserted(itemCassas.size());
            mRecyclerViewTOP.scrollToPosition(itemCassas.size() - 1);

        }
    });

这是我的应用程序中发生的事情的屏幕截图

screenshot

答案

我认为我们可以使用列表而不是StringBuilder来解决您的问题

首先,假设我们有3个字符串,如“”名称“,”数量“,”价格“

所以我们创建List

List<String> list = new ArrayList<>();
        list.add("name");
        list.add("quantity");
        list.add("price");

每当你想要删除任何项目(通过滑动)

list.remove("quantity");

最后,当你想要打印结果时

StringBuilder result = new StringBuilder();

    for (String s : list) {
        result.append(s);
    }

希望这可以帮助

以上是关于如何创建自定义字符串并动态填充它?的主要内容,如果未能解决你的问题,请参考以下文章

片段中的按钮自定义视图

如何在 Toad for Oracle 中使用自定义代码片段?

在一些片段之间填充对象变量的最佳方法

自定义对话框片段

VSCode创建自定义用户片段

片段中ListView的android自定义适配器