我有一个带有以下结构的abc.xml。
<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>
我想动态地将textviews添加到线性布局。以下是我的代码。我没有得到任何错误,但我没有得到预期的结果。
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);
答案 0 :(得分:6)
你的xml应该是
<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>
和添加文本视图的java代码是
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);
答案 1 :(得分:0)
我不知道你找到了答案,但我刚遇到这个问题,我发现了一种方法。 我认为你需要调整一位的布局如下:
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeView
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
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>
</LinearLayout>
</RelativeView>
</ScrollView>
答案 2 :(得分:0)
你必须给,
android:layout_orientation="either horizontal or vertical"
到线性布局,ID为:linear。