При попытке динамически добавлять кнопки в Activity, кнопки не отображаются до тех пор, пока не произойдет замена активности. - PullRequest
1 голос
/ 23 апреля 2020

Итак, сейчас я пытаюсь создать приложение для Android. Я уже довольно далеко, но я столкнулся с одной большой проблемой. Чтобы понять это, я расскажу немного о том, что делает приложение: в основном это приложение, в котором учитель может добавлять школьные классы, а в этих школьных классах учитель может добавлять учеников. При нажатии на уже существующую кнопку «добавить класс» пользователь может ввести имя класса, которое затем добавляется в виде кнопки следующим методом:

public void addButton(final String s) {

    if(!existingButtons.contains(s)) {
        Button button = new Button(getContext());
        button.setText(s);
        LinearLayout linearLayout = view.findViewById(R.id.linearlayout);
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
              LinearLayout.LayoutParams.MATCH_PARENT,
              LinearLayout.LayoutParams.WRAP_CONTENT);
        //linearLayout.addView(button, params);
        button.setLayoutParams(params);
        linearLayout.addView(button);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Toast.makeText(getActivity(), s, Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(getActivity(), SchoolClassActivity.class);
                intent.putExtra("currentClassName", s);
                Objects.requireNonNull(getActivity()).startActivity(intent);

            }
        });
        existingButtons.add(s);
        ClassesFragment test = new ClassesFragment();

    }
}

Теперь проблема заключается в следующем: Кнопка действительно добавляется после подтверждения ввода, но она появляется только тогда, когда я переключаю активность или проведу пальцем к самому правому фрагменту (3 вкладки с Viewpager, слева - страница, где вы можете добавлять классы). Я хотел бы знать, есть ли какой-нибудь способ показать кнопку после подтверждения ввода, без переключения фрагментов / действий.

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...