【问题标题】:Error: Merge -Tag can't work with fragement in Android错误:Merge -Tag 在 Android 中无法与片段一起使用
【发布时间】:2014-03-23 04:08:50
【问题描述】:

我为我的班级扩展片段使用了 Merge -Tag。但是当我尝试访问 R 类的元素时遇到了错误。

我的 logcat 显示:“android.view.InflateException: 只能与有效的 ViewGroup 根和 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>

【问题讨论】:

    标签: android xml android-fragments viewgroup


    【解决方案1】:

    如果您在布局中使用&lt;merge&gt; 标签作为根视图,则该布局只能通过&lt;include&gt; 从另一个布局中使用。否则,您的膨胀布局没有根 ViewGroup 来保存子视图(在您的情况下为 ImageViewTextView。)因此您需要将 &lt;merge&gt; 替换为真实的 ViewGroup 实例,例如LinearLayoutFrameLayout

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-09
      • 1970-01-01
      • 2013-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-01
      相关资源
      最近更新 更多