Protonzz Baba Ответов: 1

Как динамически добавлять элементы во фрагмент в android


у меня есть Фрагмент, и я хочу добавить элементы (textview, button) динамически, когда я нажмите на плавающую кнопку действия.

Что я уже пробовал:

Код:
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.xyz, container, false);

        FloatingActionButton fab = (FloatingActionButton) view.findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                // new elements on click



                // new elements on click

            }
        });
        return view;
    }


Спасибо заранее:)

1 Ответов

Рейтинг:
0

Richard MacCutchan

Следующий пример добавляет новый LinearLayout, а затем добавляет к нему два объекта TextView, все в пределах существующего LinearLayout.

private void ShowDetail() {
    final int[] idList = { R.string.lblOne, R.string.lblTwo, R.string.lblThree, R.string.lblFour }; 
    LinearLayout llv = (LinearLayout)findViewById(R.id.llvDetail);
    setTitle("item.toString()");
    for (int id : idList) {
    // Create LinearLayout
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.HORIZONTAL);
    
    // Create TextView for the item label
    TextView txtLabel = new TextView(this);
    txtLabel.setText(getString(id) + ": ");
    txtLabel.setWidth((int)getResources().getDimension(R.dimen.activity_label_width));
    txtLabel.setTextAppearance(getApplicationContext(), android.R.attr.textAppearanceMedium);
    //		txtLabel.setTextSize(TypedValue.COMPLEX_UNIT_PT, 8);
    ll.addView(txtLabel);
    
    // Create TextView for the item content
    TextView txtContent = new TextView(this);
    txtContent.setText(getString(id));
    txtContent.setTextSize(TypedValue.COMPLEX_UNIT_PT, 8);
    //		txtLabel.setTextAppearance(getApplicationContext(), android.R.attr.textAppearanceMedium);
    ll.addView(txtContent);
    //Add button to LinearLayout defined in XML
    llv.addView(ll);
}