Кнопки, добавленные в код, не становятся видимыми ⇐ Android
-
Гость
Кнопки, добавленные в код, не становятся видимыми
Я пытаюсь добавить в свой фрагмент несколько кнопок, вот так:
Макет RelativeLayout = (RelativeLayout) getActivity().findViewById(R.id.myRelativeLayout); [...] для () [...] myButton.setX(я * 160); myButton.setY(layout.getHeight() - 100); myButton.setMinHeight(0); myButton.setPadding(5, 5, 5, 5); myButton.setLayoutParams(новый LinearLayout.LayoutParams(140, 100)); if (characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE) > 0) myButton.setBackgroundColor(Color.GREEN); я++; myButton.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { Change_camera(myButton.getText().toString()); } }); макет.addView(myButton); Если я вызываю эту функцию из onResume() или onStart() или других мест, таких как onViewCreated(), кнопки изначально не отображаются, но они появляются, если я арендую приложение. Если я вызываю функцию из кода, вызываемого нажатием другой кнопки (которая присутствует в макете xml), кнопки отображаются сразу.
Я пробовал что-то подобное в конце for(), где добавляются кнопки, но они не работают:
layout.postInvalidateDelayed(100); макет.инвалидата(); макет.refreshDrawableState(); Есть идеи, что я делаю не так?
Я пытаюсь добавить в свой фрагмент несколько кнопок, вот так:
Макет RelativeLayout = (RelativeLayout) getActivity().findViewById(R.id.myRelativeLayout); [...] для () [...] myButton.setX(я * 160); myButton.setY(layout.getHeight() - 100); myButton.setMinHeight(0); myButton.setPadding(5, 5, 5, 5); myButton.setLayoutParams(новый LinearLayout.LayoutParams(140, 100)); if (characteristics.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE) > 0) myButton.setBackgroundColor(Color.GREEN); я++; myButton.setOnClickListener(новый View.OnClickListener() { @Override общественная недействительность onClick (Просмотр v) { Change_camera(myButton.getText().toString()); } }); макет.addView(myButton); Если я вызываю эту функцию из onResume() или onStart() или других мест, таких как onViewCreated(), кнопки изначально не отображаются, но они появляются, если я арендую приложение. Если я вызываю функцию из кода, вызываемого нажатием другой кнопки (которая присутствует в макете xml), кнопки отображаются сразу.
Я пробовал что-то подобное в конце for(), где добавляются кнопки, но они не работают:
layout.postInvalidateDelayed(100); макет.инвалидата(); макет.refreshDrawableState(); Есть идеи, что я делаю не так?
Мобильная версия