问题描述
- 用引用类 inflate 布局失败
-
我想 inflate 包含类的布局。用下面的代码创建了 inflater 实例LayoutInflater inflate =(LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mRelLayout = (RelativeLayout) inflate.inflate( R.layout.app_layout, null);
app_layout.xml布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:panel="http://schemas.android.com/apk/res/com.alpha" android:id="@+id/layoutMain" android:layout_height="wrap_content" android:layout_width="wrap_content" android:gravity="top|right">
然而Inflation 失败,出现了异常:
java.lang.RuntimeException
,说我的面板必须有有一个id属性是'R.id.panelHandle'
的子视图。
这是怎么回事呢?
解决方案
我用过以下的代码,能实现。
Test.java
LayoutInflater inflate =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
RelativeLayout mRelLayout = (RelativeLayout) inflate.inflate(
R.layout.app_layout, null);
app_layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:panel="http://schemas.android.com/apk/res/com.alpha"
android:id="@+id/layoutMain"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:gravity="top|right" />
解决方案二:
出错行不是这里吧?完全看不到你这几行代码里有关于panelHandle这个控件的代码
你发个错误日志出来看看吧,光这几行代码看着没有什么大问题
解决方案三:
删除 xmlns:panel="http://schemas.android.com/apk/res/com.alpha"
试试呢?
时间: 2024-10-06 05:09:25