在向Android应用中的活动添加新片段时出错

鱿鱼ward

我下面对Android开发者网站(教程教程),我得到这个错误:

FragmentTransaction类型的方法add(int,Fragment)不适用于参数(int,DisplayMessageActivity.PlaceholderFragment)

我已经做了很多研究,似乎大多数人的问题是他们输入了错误的东西,但是我已经输入了android.app.Fragment大多数人对此错误的解决方案,并且DisplayMessageActivity.PlaceholderFragment是Fragment的扩展,所以我认为类型应该匹配罚款(我也试过更换new PlaceholderFragment()new Fragment(),得到了同样的错误。我认为错误是从该文件的到来。

以下是我使用导入的文件创建的新活动的代码;任何帮助将不胜感激。

package com.example.myfirstapp;

import android.support.v7.app.ActionBarActivity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;

public class DisplayMessageActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_message);

    if (savedInstanceState == null){
        //ERROR IS HERE
        getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();
    }
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

public static class PlaceholderFragment extends Fragment{
    public PlaceholderFragment(){}

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
        View rootView = inflater.inflate(R.layout.activity_display_message, container, false);
        return rootView;
    }
}
}
西蒙侯爵

getSupportFragmentManager()在处理android.support.v4.app.FragmentgetFragmentManager()处理时应使用android.app.Fragment
从您的示例中,您应该使用后者。

getFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在同一活动中添加新片段时,将调用当前片段的哪种方法

将参数从活动传递到android中的片段时出错

在viewpager中打开新片段时,应用程序崩溃

Android从其父活动刷新片段列表

向Android应用程序添加库项目时出错

添加新片段时显示的按钮

从活动中调用片段时应用崩溃

如何以编程方式向Android中的活动添加多个片段

如何在Android中刷新片段

如何从片段开始向活动添加片段?

向Android Studio添加库时出错

在Android中向片段添加列表

关闭已打开的活动,因此主要活动可以更新片段,而不会在Android中丢失状态

Android:将片段添加到片段中的活动中

如何从活动更新片段

如何刷新片段活动?

从其父活动刷新片段

刚刚添加了新片段,但在Android Studio中显示为灰色?

在按钮上单击时在android中添加片段,并同时向其中添加数据

在 tabLayout 中滑动到新片段并滑动回上一个片段时,应用程序崩溃

将新片段添加到ViewPager时发生NullPointerException

添加新片段后,先前的片段元素仍然处于活动状态

在SAPUI5应用程序中刷新片段

从 View Pager 中的片段开始的新片段是否应该加载到新活动中?

显示新片段时的SetShareIntent

会话应用程序:在Android Studio中启动活动时出错

在片段中创建自定义列表视图时出错。必需的活动,找到片段

根据android中的用户输入更新片段

Android Oreo 8.0中在onPause之前调用的新片段的onResume