Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从Facebook登录手册复制的方法显示一个;“不适用”;错误_Android_Facebook - Fatal编程技术网

Android 从Facebook登录手册复制的方法显示一个;“不适用”;错误

Android 从Facebook登录手册复制的方法显示一个;“不适用”;错误,android,facebook,Android,Facebook,此程序显示错误-“FragmentTransaction类型中的add(int,Fragment)方法不适用于.add(android.R.id.content,mainframent)处的参数(int,mainframent)”。mainframent是扩展Fragment的类 MainActivity.java import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.ap

此程序显示错误-“FragmentTransaction类型中的add(int,Fragment)方法不适用于.add(android.R.id.content,mainframent)处的参数(int,mainframent)”。mainframent是扩展Fragment的类

MainActivity.java

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.app.Activity;
import android.content.Intent;
import android.widget.TextView;
import com.facebook.*;
import com.facebook.model.*;
 public class MainActivity extends FragmentActivity {
         private MainFragment mainFragment;
      @Override
      public void onCreate(Bundle savedInstanceState) {

          if (savedInstanceState == null) {
                // Add the fragment on initial activity setup
                mainFragment = new MainFragment();
                getSupportFragmentManager()
                .beginTransaction()
                .add(android.R.id.content, mainFragment)
                .commit();
            } else {
                // Or set the fragment from restored state info
                mainFragment = (MainFragment) getSupportFragmentManager()
                .findFragmentById(android.R.id.content);
            }
      }

      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
          Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
      }

    }
MainFragment.java

import android.annotation.TargetApi;
import android.app.Fragment;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class MainFragment extends Fragment{

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

        return view;
    }
}

您可能对
MainFragment
使用了本机
Fragment
,而不是支持
Fragment
。因为您正在使用
SupportFragmentManager
,这需要
片段的支持版本

main片段中替换导入

import android.app.Fragment;


检查您的导入,确保所有导入都来自支持库或framework@blackbelt现在我已经发布了alsoAs blackfizz提到的导入,请小心使用同一个包中的类。如果您支持低于3.0的版本,请始终使用support.v4.*。如果你使用的是3.0或更高版本,只需使用android.app软件包就可以了。
import android.support.v4.app.Fragment;