【问题标题】:get Inflate Exception with gridlayout使用 gridlayout 获取 Inflate Exception
【发布时间】:2011-04-08 05:34:12
【问题描述】:

大家好,我收到了 android.view.InflateException: Binary XML file line #1: Error inflating class linearlayout,原因是:java.lang.ClassNotFoundException: android.view.linearlayout in loader dalvik.system.PathClassLoader[/data /app/com.project.news-2.apk] 在下面的指示行中。

看一看

家庭活动

public void onCreate(Bundle savedInstanceState) {

 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);

}

HomeActivity 中的另一个方法

LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);

View layout = inflater.inflate(R.layout.dashboard_home ,(ViewGroup) findViewById(R.id.layout_root));


GridView grid = (GridView) layout.findViewById(R.id.gridview);


adapter = new HomeAdapter(this);

adapter.setItems(config); grid.setAdapter(adapter);

家庭适配器

public View getView(int position, View convertView, ViewGroup parent) {



ViewHolder holder

if (convertView == null) { // if it's not recycled,



 convertView = mInflater.inflate(R.layout.dashboard_home, null);  //exception

convertView.setLayoutParams(new GridView.LayoutParams(90, 90));


holder = new ViewHolder();

holder.title = (TextView) convertView.findViewById(R.id.titleIcon);

holder.icon = (ImageView) convertView.findViewById(R.id.imageIcon);

convertView.setTag(holder);


} else {

 holder = (ViewHolder) convertView.getTag();

       }

main.xml

    <?xml version="1.0" encoding="utf-8"?>

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

    android:id="@+id/layout_root" android:orientation="vertical"

    android:layout_width="fill_parent" android:layout_height="fill_parent">

    <LinearLayout style="@style/TitleBar">

    <ImageView style="@style/TitleBarLogo"

    android:contentDescription="Text testing" />



<ImageView style="@style/TitleBarSeparator" />

<TextView style="@style/TitleBarText" />



<ImageButton style="@style/TitleBarAction"

android:contentDescription="@string/description_about" android:src="@drawable/info"

android:onClick="onClickAbout" />

</LinearLayout>



<GridView

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:id="@+id/gridview"

    android:numColumns="2"

    />



</LinearLayout>

dashboard_home.xml

<?xml version="1.0" encoding="utf-8"?>

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

android:orientation="vertical" android:layout_width="fill_parent"

android:layout_height="fill_parent" android:padding="10dp">

<ImageView android:id="@+id/imageIcon" android:layout_width="50dip"

android:layout_height="50dip" android:layout_alignParentRight="true"

android:layout_marginRight="3dp" />

<TextView android:id="@+id/titleIcon" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_centerHorizontal="true"

android:layout_alignParentLeft="true" android:layout_marginLeft="3dp"

android:textColor="#FFF" />

</LinearLayout>

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    删除这两行并在 HomeActivity 中运行您的代码。

    LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);     
    View layout = inflater.inflate(R.layout.dashboard_home ,(ViewGroup) findViewById(R.id.layout_root));  
    

    发生异常的原因是因为您将dashboard_home.xml 膨胀到它本身..

    【讨论】:

    • 感谢 DroidBase 你今天真的救了我的工作!
    猜你喜欢
    • 2019-03-26
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    相关资源
    最近更新 更多