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

时间:2018-06-19 07:50:30

标签: android string android-recyclerview stringbuilder

我正在创建一个应用程序,可以通过按钮点击一些项目添加到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("\n")
                    .append("<DESCRIPTION>").append(filteredList.get(position).getDeskS()).append("</DESCRIPTION>").append("\n")
                    .append("<QUANTITY>").append(filteredList.get(position).getQuant()).append("</QUANTITY>").append("\n")
                    .append("<PRICE>").append(new DecimalFormat("#0.00").format(filteredList.get(position).getPrice())).append("</PRICE>").append("\n")
                    .append("</SELLITEM>").append("\n");


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

        }
    });

以下是我的应用中发生的事情的屏幕截图

screenshot

1 个答案:

答案 0 :(得分:0)

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

首先,假设我们有3个字符串,如“”name“,”quantity“,”price“

所以我们创建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);
    }

希望这会有所帮助