我想在android中實現一個簡單的片段。Android片段不工作
我試過各種方法,唯一一次我沒有得到一個錯誤是當我從佈局中完全刪除片段。除此之外,我已經刪除了充氣,並嘗試手動創建佈局,但這也不起作用。
只從版面中刪除fragment
似乎使應用程序加載,無論我做了什麼,應用程序崩潰。
我不斷收到以下錯誤:
12-29 04:52:07.493: E/AndroidRuntime(11717): java.lang.RuntimeException: Unable to resume activity {com.p5sys.android.jump/com.p5sys.android.jump.lib.activities.DisplayContactList}: android.view.InflateException: Binary XML file line #9: Error inflating class fragment
我也得到了上面的錯誤堆棧跟蹤後,下面的錯誤(只是分享櫃面它幫助)。
12-29 04:52:07.493: E/AndroidRuntime(11717): Caused by: java.lang.IllegalArgumentException: Binary XML file line #9: Duplicate id 0x7f090023, tag null, or parent id 0x0 with another fragment for 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
試過,我已經得到了同樣的問題。
任何幫助將不勝感激。
老兄,試圖解決這個「無論」問題5個小時,你的解決方案在1秒內修復它!愛它! – Ali 2011-12-29 07:20:43