Я пытаюсь раздуть макет, содержащий фрагмент, используя пакет обратной совместимости и уровень 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 {
Симптомы похожи на эту проблему, но у меня нет таких ошибок раздувание фрагментов с андроидом совместимости
Файл jar android.compatibility.v4.android-support-v4 находится на моем пути сборки в Eclipse в разделе "Проект" > "Свойства" > "путь сборки Java"
У меня есть в манифесте (и я пробовал разные варианты имени).
В начале работы с фрагментами я впервые использовал API 11 на сотовом устройстве, и все работает отлично. Он получает один и тот же код (модифицированный для использования немного другого API совместимости), работающий с библиотекой совместимости, который у меня есть. Любые идеи были бы очень желанными. Благодаря, Питер