Я пытаюсь реализовать простой фрагмент в 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 или родительский идентификатор 0x0 с другим фрагментом для
com.p5sys.android.jump.lib.fragment.HeaderFragment
Мой макет contact_layout.xml
- это LinearLayout с fragment
и ListView
в нем:
<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
, и у меня возникла та же проблема.
Любая помощь будет принята с благодарностью.