无法解析方法占位符片段错误



我真的被这个错误卡住了(如下):

     @Override
     protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_vehiclerecall);
      if (savedInstanceState == null) {
          getFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }
}

我已将容器正确引用到XML布局(如下):

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/container"
    tools:context="com.customerautomotivenetwork.VehicleRecall"/>

但我一直收到一个错误,无法解决PlacehlderFragment的方法,你知道我做错了什么吗?

  • 您可能扩展了错误版本的Fragment

在文件PlaceholderFragment.java中,首先确保扩展Fragment:

public class PlaceholderFragment extends Fragment { //...

然后,检查该文件开头的导入。应该有一行:

import android.app.Fragment;

NOT行:

import android.support.v4.app.Fragment;

尽量不要混淆"normal"one_answers"v4"片段,它们有相同的名称,做相同的事情,但它们实际上是不同的类。

我不得不导入android.support.v4.app.FFragment来解决这个问题。

在我的案例中,我使用的是minSdkVersion 8,我创建了一个活动类java>Package>Acitivity>BlankActivity。这个创建的活动类有一个内部类公共静态类PlaceholderFragment扩展Fragment。这个内部类在的onCreate()中使用

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_message);
    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();
    }
}

最新更新