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

Java 无法解析方法占位符片段错误,java,android,android-activity,android-fragments,error-handling,Java,Android,Android Activity,Android Fragments,Error Handling,我真的被这个错误卡住了(如下所示): 我已将容器正确引用到XML布局(如下所示): 但我不断收到一个错误,无法解析PlacehlderFragment的方法,知道我做错了什么吗? 您可能扩展了错误版本的Fragment 在文件PlaceholderFragment.java中,首先确保扩展Fragment: public class PlaceholderFragment extends Fragment { //... 然后,检查该文件开头的导入。应该有这样一句话: import an

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

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


但我不断收到一个错误,无法解析PlacehlderFragment的方法,知道我做错了什么吗?

  • 您可能扩展了错误版本的
    Fragment
在文件
PlaceholderFragment.java
中,首先确保扩展
Fragment

public class PlaceholderFragment extends Fragment { //...
然后,检查该文件开头的导入。应该有这样一句话:

import android.app.Fragment;
import android.support.v4.app.Fragment;
行:

import android.app.Fragment;
import android.support.v4.app.Fragment;
尽量不要混合使用“普通”和“v4”片段,它们具有相同的名称和执行相同的操作,但实际上它们是不同的类。

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

在我的例子中,我使用的是minsdkversion8,我创建了一个活动类java>Package>Acitivity>BlankActivity。此创建的活动类具有内部类公共静态类占位符片段扩展片段。此内部类在中的onCreate()中使用


你能发布堆栈跟踪吗?这是我使用stacktrace得到的:堆栈跟踪基本上是应用程序崩溃时的错误消息,而不是xml布局。它显示了线程终止前堆栈上所有方法调用的跟踪。您可以在Eclipse的logcat窗口中找到它。我正在使用Android Studio,但我会找到它。这是我得到的:错误:(34,21)错误:没有找到适合add(int,Placeholder Fragment)方法FragmentTransaction的方法。add(int,Fragment,String)不适用(实际参数列表和形式参数列表长度不同)方法FragmentTransaction.add(int,Fragment)不适用(实际参数占位符Fragment不能通过方法调用转换转换为Fragment)方法FragmentTransaction.add(Fragment,String)不适用(实际参数int不能通过方法调用转换为Fragment)
@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();
    }
}