Я пытаюсь надуть макет, содержащий фрагмент, используя пакет обратной совместимости и SDK уровня 10. Я взял файл jar и поместил его в папку libs моего проекта.Я расширил FragmentActivity.
Все работает отлично, когда я запускаю на уровне API 11 на устройстве с экраном XLarge.
Когда я возвращаюсь к компиляции с уровнем 10 и работаю на экране обычного размера, Я получаю ошибку в точке, где он создает новое действие и раздувает фрагмент в нем.
Причина: java.lang.ClassNotFoundException: android.view.fragment в загрузчике dalvik.system.PathClassLoader[/data/app/com.motoappsummitagenda-1.apk] 04-01 01: 07: 14.311 2870 2870 E AndroidRuntime: at dalvik.system.PathClassLoader.findClass (PathClassLoader.java:243)
Так это выглядит как-то, где-то ищет android.view.fragment, а не версию совместимости, android.support.v4.app.Fragment.Конечно, android.view.fragment не будет найден на уровне API 10. Но откуда взялся этот android.view.fragment?
Надутый XML-код
<?xml version="1.0" encoding="utf-8"?>
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.motorapp.SessionFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/sessionfragment">
</fragment>
Код для запуска:
package com.motorapp;
import java.util.List;
import java.util.ListIterator;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import android.support.v4.app.*;
import android.support.v4.util.*;
import android.support.v4.*;
import android.support.v4.widget.*;
public class SessionFragment extends android.support.v4.app.Fragment {
Симптомы похожи на эту проблему, но у меня нет этих ошибок раздувание фрагментов с помощью пакета совместимости android
Файл jar android.compatibility.v4.android-support-v4 находится на моем пути сборки в Eclipse в разделе «Проект»> «Свойства»> «Путь сборки Java»
У меня есть в манифесте (и я пробовал разные вариантыназвание).
Приступая к работе с фрагментами, я впервые использовал API 11 на сотовом устройстве, и все это прекрасно работает.Эта проблема возникает при получении того же кода (модифицированного для использования немного отличающегося API совместимости) при работе с библиотекой совместимости.Любые идеи будут очень приветствоваться.Спасибо, Питер