Android Studio错误:此类应提供默认构造函数

Android Studio错误:此类应提供默认构造函数,android,android-fragments,Android,Android Fragments,当我在Android Studio 1.0中尝试生成签名APK向导时,出现了一个错误 Error: This class should provide a default constructor (a public constructor with no arguments) (com.ex.Tab1_2_1) [Instantiatable] 这是我的密码 它在Eclipse中工作,我想知道为什么它在Android Studio中不工作 public class Tab1_2_1 exten

当我在Android Studio 1.0中尝试生成签名APK向导时,出现了一个错误

Error: This class should provide a default constructor (a public constructor with no arguments) (com.ex.Tab1_2_1) [Instantiatable]
这是我的密码

它在Eclipse中工作,我想知道为什么它在Android Studio中不工作

public class Tab1_2_1 extends Fragment{

Context mContext;
WebView mWebView;
View mView;

public Tab1_2_1(Context context)
{
    mContext = context;
}

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setRetainInstance(true);
}

@Override
public View onCreateView(LayoutInflater inflater, 
        ViewGroup container, Bundle savedInstanceState) 
{
    mView = inflater.inflate(R.layout.webview, null);

    return mView;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) 
{
   super.onActivityCreated(savedInstanceState);

   mWebView = (WebView)mView.findViewById(R.id.webview);
   mWebView.loadUrl("file:///android_asset/tab1_2/tab1_2_1.html"); 
   mWebView.getSettings().setJavaScriptEnabled(true);
}
}

祝您愉快。

是的,
Fragment
s子类需要有一个空构造函数。你应该删除

public Tab1_2_1(Context context)
{
    mContext = context;
}
另外,让一个构造函数仅仅提供一个上下文对象一点用处都没有,因为
Fragment
具有
getActivity
方法,该方法从官方文档返回托管
Fragment

的活动

Fragment的所有子类都必须包含一个公共的无参数构造函数。框架通常会在需要时重新实例化片段类,特别是在状态恢复期间,并且需要能够找到此构造函数来实例化它。如果无参数构造函数不可用,则在某些情况下,在状态还原期间会发生运行时异常


您不需要将上下文传递给它。您可以通过使用方法随时获取上下文

谢谢您的回答!谢谢你的回答!解决方案对我有用