6

Tôi gặp sự cố khi làm việc với các đoạn mã trên nền tảng 2.2. Tôi đã nhập thư viện android-support-v4.jar để hỗ trợ các đoạn.
Tôi đã cố gắng thay đổi mục tiêu thành Honeycomb 3.0 và mã hoạt động. Vì vậy, tôi muốn biết nếu có tồn tại một cách để làm việc với các mảnh trên nền tảng riêng và một cách khác để làm điều đó với các phiên bản trước.Lỗi lạm phát phân đoạn từ bố cục android-support-v4

Đây là tôi AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.nsy.testefragmentos" 
    android:versionCode="1" 
    android:versionName="1.0" > 
    <uses-sdk android:minSdkVersion="8" /> 
    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <activity 
      android:label="@string/app_name" 
      android:name=".TesteFragmentosActivity" > 
      <intent-filter > 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
      <activity android:name="FragmentoLista" /> 
      <activity android:name="FragmentoDetalhe" /> 
    </application> 
</manifest> 

Và đây là lớp học chính của tôi

package com.nsy.testefragmentos; 

import android.app.Activity; 
import android.os.Bundle; 

public class TesteFragmentosActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 

Và cuối cùng, đoạn gọi từ main.xml tập tin:

package com.nsy.testefragmentos; 

import android.os.Bundle; 
import android.support.v4.app.ListFragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

public class FragmentoLista extends ListFragment { 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return super.onCreateView(inflater, container, savedInstanceState);   
    } 
} 

khi tôi chạy , lỗi sau xuất hiện trong logCat:

12-24 11:46:16.708: E/AndroidRuntime(395): FATAL EXCEPTION: main 
12-24 11:46:16.708: E/AndroidRuntime(395): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nsy.testefragmentos/com.nsy.testefragmentos.TesteFragmentosActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class fragment 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.os.Handler.dispatchMessage(Handler.java:99) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.os.Looper.loop(Looper.java:123) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.main(ActivityThread.java:4627) 
12-24 11:46:16.708: E/AndroidRuntime(395): at java.lang.reflect.Method.invokeNative(Native Method) 
12-24 11:46:16.708: E/AndroidRuntime(395): at java.lang.reflect.Method.invoke(Method.java:521) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
12-24 11:46:16.708: E/AndroidRuntime(395): at dalvik.system.NativeStart.main(Native Method) 
12-24 11:46:16.708: E/AndroidRuntime(395): Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class fragment 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.Activity.setContentView(Activity.java:1647) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.nsy.testefragmentos.TesteFragmentosActivity.onCreate(TesteFragmentosActivity.java:12) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
12-24 11:46:16.708: E/AndroidRuntime(395): ... 11 more 
12-24 11:46:16.708: E/AndroidRuntime(395): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.nsy.testefragmentos-1.apk] 
12-24 11:46:16.708: E/AndroidRuntime(395): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243) 
12-24 11:46:16.708: E/AndroidRuntime(395): at java.lang.ClassLoader.loadClass(ClassLoader.java:573) 
12-24 11:46:16.708: E/AndroidRuntime(395): at java.lang.ClassLoader.loadClass(ClassLoader.java:532) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.createView(LayoutInflater.java:466) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:544) 
12-24 11:46:16.708: E/AndroidRuntime(395): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 
12-24 11:46:16.708: E/AndroidRuntime(395): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 
12-24 11:46:16.708: E/AndroidRuntime(395): ... 20 more 
12-24 11:46:21.828: I/Process(395): Sending signal. PID: 395 SIG: 9 

Tôi thực sự không biết mình đang làm gì sai =/Có ai giúp tôi không? thnkx

Trả lời

6

Hoạt động của bạn nên mở rộng FragmentActivity thay vì Activity. Đã có cùng một vấn đề bản thân mình.

public class TesteFragmentosActivity extends FragmentActivity { 
    ... 
} 
+0

Cảm ơn bạn Boude, đó là vấn đề! \ o / –

0

Thỉnh thoảng lỗi (sai lầm của tôi) Tôi đã phải đối mặt đó, tôi đã sử dụng đoạn (android.app.fragment) trong một tập tin và trong một gọi nó với Fragment (android.support.v4.app. Miếng) . sau khi kiểm tra đường dây Một mình tôi đã tìm thấy điều này và giải quyết, vì lỗi này tôi đã dành 5-6 giờ, tôi đã triển khai ImageSlider

Các vấn đề liên quan