如何使用onclick按钮侦听器将textview添加到线性布局?

时间:2019-04-01 15:13:27

标签: java android

我需要的是将textview添加到线性布局中,在该布局中它将看起来井井有条且美观。每当再次单击该按钮时,它都应替换旧的textview并再次更新。

此刻,onclick侦听器上的按钮将产生一个textview,但我不喜欢它,因为它看起来杂乱无章。

我尝试这样做:

varlinear.addView(varkebabTotal);

但是它导致了错误。

我看了其他示例,但是他们没有解释它如何与onlick侦听器一起使用。

以下是单击按钮时发生的代码:

varKebab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String name = "Kebab Wrap";
                if (menu.containsKey(name)) {
                    kebabquantity = list.get(name);

                    if (kebabquantity == null) {
                        kebabquantity = 0;
                    }
                    kebabquantity++;
                    list.put(name, kebabquantity);

                    //kebab qty calc
                     double kebabTotal = kebabquantity * menu.get(name);

                    overallTotal = overallTotal + menu.get(name);
                    varkebabTotal.setText(String.format("%s %s @ £%s = £%.2f", kebabquantity.toString(), name, menu.get(name), kebabTotal));
                    varTotalPrice.setText(String.format("Total = £%.2f", overallTotal));

                    varlinear.addView(varkebabTotal); // this line caused an error


                }

            }
        });

编辑:

我收到的错误是当我测试该应用程序时,并且当我单击该按钮时,该应用程序停止了。它由于以下一行而自行关闭:varlinear.addView(varkebabTotal);

变量如下:

varkebabTotal = (TextView) findViewById(R.id.kebabTotal);
varTotal = (TextView) findViewById(R.id.TotalPrice);
varlinear = (LinearLayout) findViewById(R.id.myLinear);

1 个答案:

答案 0 :(得分:0)

您可以尝试的一种方法是设置varkebabTotal.setVisibility(View.GONE);初始化TextView时,然后在onClick事件上,可以将其更改为varkebabTotal.setVisibility(View.VISIBLE);