Android 从Facebook登录手册复制的方法显示一个;“不适用”;错误
此程序显示错误-“FragmentTransaction类型中的add(int,Fragment)方法不适用于.add(android.R.id.content,mainframent)处的参数(int,mainframent)”。mainframent是扩展Fragment的类 MainActivity.javaAndroid 从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
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;