报错信息:Error : Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle) instead:
参考了下述几篇笔者的解决方法,应该是Android要求采用的语法
1、https://blog.csdn.net/anobodykey/article/details/22503413
2、https://blog.csdn.net/qq_16628781/article/details/51367481
3、https://blog.csdn.net/xiaoxiaocaizi123/article/details/79074501
fg1 = new MyFragment("第一个Fragment");
fg1 = Myfragment.newInstance("第一个Fragment");
原来VS现在
//原来的
public class MyFragment extends Fragment {
private String content;
public MyFragment(String content) {
this.content = content;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fg_content,container,false);
TextView txt_content = (TextView) view.findViewById(R.id.txt_content);
txt_content.setText(content);
return view;
}
}
//现在的
public class Myfragment extends Fragment {
private String content;
public Myfragment(){}
public static Myfragment newInstance(String content) {
Myfragment f=new Myfragment();
Bundle b=new Bundle();
b.putString("content", content);
f.setArguments(b);
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = getArguments();
if (getArguments() != null) {
content = getArguments().getString("content");
}
View view = inflater.inflate(R.layout.fragmt_content,container,false);
TextView txt_content = (TextView) view.findViewById(R.id.txt_content);
txt_content.setText(content);
return view;
}
}