簡體   English   中英

android.view.InflateException:無法膨脹該片段

[英]android.view.InflateException: Not able to inflate the fragment

我正在Fragment類中編寫asyncTask代碼,但無法使其正常工作。相反,應用程序引發了InflateException。

以下是我的代碼:

 public class MainActivity extends FragmentActivity{
  @Override
  protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    MainHandlerFragment firstFragment = new MainHandlerFragment();
    firstFragment.new MyTask().execute(query);
  }

MainHandlerFragment.java

 public class MainHandlerFragment extends Fragment{

   @Override
   public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.home_detail, container, false);
    return view;
   }

 class MyTask extends AsyncTask<String, Void, String> {
    @Override
    protected Organization doInBackground(String... urls) {
       // AN Api call i am making here
    }

  }

activity_home.xml

 <?xml version="1.0" encoding="utf-8"?>

   <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true">

    <fragment
     android:id="@+id/home_detail"
     android:name="com.stata.mobile.android.ui.MainHandlerFragment"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"/>

   </FrameLayout>

home_detail.xml

   <Linearlayout
   android:layout_width="match_parent"
   android:layout_height="wrap_content">

   <TextView
    android:id="@+id/home_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
   </LinearLayout>

我無法在MainActivity布局中填充片段

我得到的錯誤是:

    *java.lang.RuntimeException:* Unable to start activity ComponentInfo{com.stata.mobile.android/com.stata.mobile.android.ui.MainActivity}: *android.view.InflateException*: Binary XML file line #9: Error inflating class fragment
E/AndroidRuntime( 1292):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
E/AndroidRuntime( 1292):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
E/AndroidRuntime( 1292):    at android.app.ActivityThread.access$800(ActivityThread.java:135)
E/AndroidRuntime( 1292):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
E/AndroidRuntime( 1292):    at android.os.Handler.dispatchMessage(Handler.java:102)

E/AndroidRuntime( 1292): Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class fragment
E/AndroidRuntime( 1292):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)


 *Caused by: java.lang.ClassCastException:* com.stata.mobile.android.ui.MainHandlerFragment cannot be cast to android.support.v4.app.Fragment
E/AndroidRuntime( 1347):    at android.support.v4.app.Fragment.instantiate(Fragment.java:394)
E/AndroidRuntime( 1347):    at android.support.v4.app.Fragment.instantiate(Fragment.java:369)
E/AndroidRuntime( 1347):    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272)

造成原因:java.lang.ClassCastException:com.stata.mobile.android.ui.MainHandlerFragment無法轉換為android.support.v4.app.Fragment E / AndroidRuntime(1347):

您必須導入並使用support片段庫並刪除import android.fragment庫。

刪除import android.app.Fragment; 並添加import android.support.v4.app.Fragment; 在您的MainHandlerFragment類中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM