【发布时间】:2011-12-29 00:04:55
【问题描述】:
我正在尝试在 android 中实现一个简单的片段。
我尝试了各种方法,唯一没有出现错误的情况是我从布局中完全删除了片段。除此之外,我删除了 inflate 并尝试手动创建布局,但也没有用。
仅从布局中删除 fragment 似乎会使应用程序加载,无论我做什么,应用程序都会崩溃。
我不断收到以下错误:
12-29 04:52:07.493: E/AndroidRuntime(11717): java.lang.RuntimeException:无法恢复活动 {com.p5sys.android.jump/com.p5sys.android.jump.lib.activities.DisplayContactList}: android.view.InflateException:二进制 XML 文件第 9 行:错误 膨胀类片段
在上述错误堆栈跟踪之后,我也收到以下错误(只是分享以防万一)。
12-29 04:52:07.493:E/AndroidRuntime(11717):由以下原因引起: java.lang.IllegalArgumentException:二进制 XML 文件第 9 行:重复 id 0x7f090023,标签 null,或父 id 0x0 与另一个片段 com.p5sys.android.jump.lib.fragment.HeaderFragment
我的布局contact_layout.xml 是一个带有fragment 和ListView 的LinearLayout:
<fragment
android:id="@+id/headerFragment"
android:layout_width="0dp"
android:layout_height="fill_parent"
class="com.p5sys.android.jump.lib.fragment.HeaderFragment" />
<ListView
android:id="@+id/contactList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@color/transparent"
android:cacheColorHint="#00000000" >
</ListView>
片段布局header_fragment.xml 是:
<TableRow>
<ImageButton
android:id="@+id/btnSettings"
android:gravity="left"
android:hint="@string/label_settings"
android:onClick="btnAction_launchSettings"
android:padding="3dip"
android:src="@drawable/ic_menu_add" />
<TextView
android:id="@+id/headerText"
android:gravity="center"
android:height="50dip"
android:padding="3dip"
android:textSize="20sp"
android:textStyle="bold"
android:text="Blank" />
<ImageButton
android:id="@+id/btnAdd"
android:background="@drawable/disconnectbutton"
android:gravity="right"
android:hint="@string/label_add"
android:onClick="btnAction_launchAddNew"
android:padding="3dip"
android:src="@drawable/ic_menu_add" />
</TableRow>
我的片段类:
package com.p5sys.android.jump.lib.fragment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.p5sys.android.jump.lib.R;
/***
* Fragment
* @author Ali
*
*/
public class HeaderFragment extends Fragment {
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// inflate layout
return inflater.inflate(R.layout.header_fragment, container, false);
// LinearLayout ll = new LinearLayout(getActivity());
// TextView tv = new TextView(getActivity());
// tv.setText("hello world");
// ll.addView(tv);
// return ll;
}
}
在我的活动中,我没有做任何特别的事情,我尝试使用常规的 Activity 和 FragmentActivity,但我遇到了同样的问题。
任何帮助将不胜感激。
【问题讨论】:
标签: java android android-fragments