错误:合并-Tag不适用于Android中的片段

时间:2014-03-23 04:08:50

标签: android xml android-fragments viewgroup

我使用Merge -Tag作为我的课程扩展Fragement。但是当我试图访问R类的元素时,我遇到了错误。

我的logcat显示:" android.view.InflateException:只能用于有效的ViewGroup root和attachToRoot = true" 。 贝娄是我的source code。请帮我。对不起我的英语,这不好。

public class DetailHeader extends Fragment {
ImageView imageView;
TextView textHeader;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     LinearLayout wrapper = new LinearLayout(getActivity()); // for example
     inflater.inflate(R.layout.detail_header, wrapper, true);
     View view = inflater.inflate(R.layout.detail_header, null);
     imageView =(ImageView)view.findViewById(R.id.image);
     textHeader =(TextView)view.findViewById(R.id.textViewHeader);
     imageView.setImageResource(R.drawable.dengiong);
     return wrapper;
     }
}

这是我的xml file

<merge xmlns:android="http://schemas.android.com/apk/res/android">

<ImageView
    android:id="@+id/image"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scaleType="fitCenter"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/textViewHeader"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal|bottom"
    android:layout_marginBottom="20dip"
    android:padding="12dip"
    android:text="Golden Gate"
    android:textColor="#ffffffff" />

</merge>

1 个答案:

答案 0 :(得分:0)

如果您在布局中使用<merge>标记作为根视图,则该布局只能通过其他布局中的<include>使用。否则,您的虚增布局没有用于保存子视图的根ViewGroup(在您的情况下为ImageViewTextView。)因此您需要将<merge>替换为ViewGroup真实LinearLayout实例,例如FrameLayout或{{1}}。