Android: Adding view dynamically in a nested layout

12,107

your xml should be

<ScrollView
  android:layout_width="match_parent"
  android:layout_height="match_parent">
 <LinearLayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:orientation="vertical">
  <LinearLayout
    android:id="@+id/linear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
  </LinearLayout>
 </LinearLayout>
</ScrollView>

and the java code to add your text view is

LinearLayout layout = (LinearLayout) view.findViewById(R.id.linear);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
    LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
TextView Tag = new TextView(getActivity());
tag.setLayoutParams(params);
Tag.setText("textString");
Tag.setBackgroundResource(R.color.bg_color);
Tag.setTextAppearance(getActivity(), R.style.SmallFont);
layout.addView(Tag);
Share:
12,107

Related videos on Youtube

Shah
Author by

Shah

Updated on July 08, 2022

Comments

  • Shah
    Shah almost 2 years

    I have an abc.xml with the following structure.

    <ScrollView
      android:layout_width="match_parent"
      android:layout_height="match_parent">
     <RelativeView
       android:layout_width="match_parent"
       android:layout_height="wrap_content">
      <LinearLayout
        android:id="@+id/linear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
      </LinearLayout>
     </RelativeLayout>
    </ScrollView>
    

    I want to add textviews dynamically to linear layout. Below is my code. I don't get any errors but I am not getting the desired results.

    LayoutInflater Inflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View view = Inflater.inflate(R.layout.abc, null);
    
    LinearLayout layout = (LinearLayout) view.findViewById(R.id.linear);
    
            TextView Tag = new TextView(getActivity());
            Tag.setText("textString");
            Tag.setBackgroundResource(R.color.bg_color);
            Tag.setTextAppearance(getActivity(), R.style.SmallFont);
            layout.addView(Tag);