2013-09-20 3 views
0

Я хочу отобразить кнопку в левом нижнем углу фрагмента, но я не знаю Идентификатор основного макета фрагмента, поскольку я в абстрактном классе, который не имеет макета.Android add button to Fragment без id

@EFragment(R.layout.exercise_test) 
public class Exercise1 extends Exercice 

public abstract class Exercice extends Fragment{ 

    public void showValidateButton() 
    { 
     Button validateButton = new Button(this.getActivity().getBaseContext()); 
     validateButton.setText("OK"); 
     // Here I want to add the button to Exercise1 
    } 
} 

Есть ли способ достичь этого?

Спасибо

Thierry.

ответ

1

Вы можете использовать метод Fragment getView(), чтобы получить представление корня, содержащее все макеты фрагмента. До тех пор, пока это ViewGroup, вы можете добавить свою кнопку с помощью метода addView().

Однако, если вы правильно разместили, у вас есть некоторые сведения о используемом макете, например. RelativeLayout, LinearLayout и т. Д.

Более хардкорным решением будет создание собственного RelativeLayout, добавление результата getView() и собственной кнопки Fragment и установка RelativeLayout в качестве нового корневого представления фрагмента.

+0

Спасибо! Первый вариант идеально подходит, я забыл вернуть getView() в ViewGroup, чтобы у меня не было доступа к методу addView(). –