以正确的方式实例化片段!

getArguments() setArguments()方法在它到来时似乎非常有用   使用静态方法实例化片段。

即Myfragment.createInstance(String msg)

怎么做?

片段代码

public MyFragment extends Fragment {

private String displayMsg;

private TextView text;

public static MyFragment createInstance(String displayMsg)

{

MyFragment fragment = new MyFragment();

Bundle args = new Bundle();

args.setString("KEY",displayMsg);

fragment.setArguments(args); //set

return fragment;

}

@Override

public void onCreate(Bundle bundle)

{

displayMsg = getArguments().getString("KEY"): // get

}

@Override

public View onCreateView(LayoutInlater inflater, ViewGroup parent, Bundle bundle){

View view = inflater.inflate(R.id.placeholder,parent,false);

text = (TextView)view.findViewById(R.id.myTextView);

text.setText(displayMsg) // show msg

returm view;

}

}

我们假设你想在创建实例时传递一个String。 这个   你将如何做到这一点。

MyFragment.createInstance("This String will be shown in textView");

阅读更多

1)为什么Myfragment.getInstance(String msg)比新的MyFragment(String msg)更受欢迎?

2)片段上的示例代码

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐