Программное добавление кнопок во фрагмент

Я пытаюсь программно добавить кнопки-изображения во фрагмент, который является частью вьюпейджера. Я пробовал разные коды, но кнопка не появляется, хотя Eclipse не возвращает ошибок.

Я нашел похожий вопрос здесь, но ответы не помогли мне сделать так, чтобы мои кнопки отображались.

Вот мой код.

public class ViewPagerFragment extends Fragment {

private ViewPagerActivity mViewPagerActivity;
private String mId;

public ViewPagerFragment(String id) {
    mId = id;
}

@Override
public void onAttach(Activity activity) {
    if (activity instanceof ViewPagerActivity) {
        mViewPagerActivity = (ViewPagerActivity)activity;
    }
    super.onAttach(activity);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment, container, false);

     int[] image_array = {
            R.drawable.elebutton,
            R.drawable.right,
            R.drawable.middle,
            };

     for (int i =0;i 0) {
                lp.addRule(RelativeLayout.BELOW, b1.getId() - 1);
            }   
            b1.setLayoutParams(lp);

            ImageHolder ih = new ImageHolder(getActivity());
            ih.addView(b1);


    }

    return v;

}
public class ImageHolder extends FrameLayout {

    public ImageHolder(Context context) {
        super(context);
        initView(context);
    }

    public ImageHolder(Context context, AttributeSet attrs) {
        super(context, attrs);
        initView(context);
    }

    public ImageHolder(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        initView(context);
    }

    private void initView(Context context){
        View.inflate(context, R.layout.fragment, this); 
    }

   @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
        // TODO Auto-generated method stub
        for(int i = 0 ; i < getChildCount() ; i++){
            getChildAt(i).layout(l, t, r, b);
        }
    }

}

11
задан Community 23 May 2017 в 11:51
поделиться