无法解决方法placeholderfragment错误

时间:2014-09-19 13:18:38

标签: java android android-activity android-fragments error-handling

我真的坚持这个错误(下面):

     @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方法的错误,不知道我做错了什么?

2 个答案:

答案 0 :(得分:3)

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

在您的文件PlaceholderFragment.java中,首先确保延长Fragment

public class PlaceholderFragment extends Fragment { //...

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

import android.app.Fragment;

这一行:

import android.support.v4.app.Fragment;

尽量不要混合使用“普通”和“v4”碎片,它们具有相同的名称并执行相同的操作,但它们实际上是不同的类。

答案 1 :(得分:1)

我必须导入android.support.v4.app.Fragment 才能解决此问题。

在我的情况下,我使用的是minSdkVersion 8,我创建了一个Activity类java&gt;套餐&gt; BlankActivity。这个创建的活动类有一个内部类公共静态类PlaceholderFragment extends 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();
    }
}