Как надуть кнопку только один раз? - PullRequest
0 голосов
/ 18 марта 2020

Я хочу создавать кнопки динамически, используя инфлятор только один раз. У меня три кнопки и одна функция загрузки. Эта функция вызывается в каждой кнопке, и при каждом вызове появляются предварительно созданные кнопки. Я хочу создать только одну кнопку при каждом нажатии кнопки. Как?

   LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    assert inflater != null;
    LinearLayout root = (LinearLayout) inflater.inflate(R.layout.analyze_company_buttons_layout, null, false);

    Button btnCompany = root.findViewById(R.id.btnCompany);
    btnCompany.setText(header);
    btnCompany.setTag(headerCode);
    btnCompany.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String compCode = (String) view.getTag();
            Company company = getCompany(compCode, filterCompanyList);
            lines = new ArrayList<>();
            if (company != null) {

                filterCompanyList.remove(company);

                setBackgroundColorForTabButton(view, lytTabs, R.color.colorPrimaryExtraExtraLight, R.color.white);

            } else {
                company = getCompany(compCode, companyList);
                filterCompanyList.add(company);
                setBackgroundColorForTabButton(view, lytTabs, R.color.white, R.color.colorPrimaryExtraExtraLight);
            }
            loadFunct(startDate, endDate, "LW");
        }
    });

    lytTabs.addView(root);
    setBackgroundColorForTabButton(btnCompany, lytTabs, R.color.white, R.color.colorPrimaryExtraExtraLight);
    lytTabs.invalidate();

1 Ответ

0 голосов
/ 23 марта 2020

lytTabs.removeAllViews (); у него работает функция

...