由网友(楠木)分享简介:我使用 ViewPageIndicator 和我有在code。使用XML布局的一个问题。通常我使用的setContentView(R.layout.activity_main)。当然,我可以创造code布局,但我preFER使用XML文件。 公共最后一类FragmentOne扩展片段{ 私有静态最后弦乐KEY_...![Android编码,在设置第二活动布局时,setContentView无法读取.xml文件](https://p.xsw88.cn/allimgs/daicuo/20230907/4419.png)
我使用 ViewPageIndicator 和我有在code。使用XML布局的一个问题。通常我使用的setContentView(R.layout.activity_main)
。当然,我可以创造code布局,但我preFER使用XML文件。
公共最后一类FragmentOne扩展片段{ 私有静态最后弦乐KEY_CONTENT =FragmentOne; @覆盖 公共无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState); 如果((savedInstanceState = NULL)及!&安培; savedInstanceState.containsKey(KEY_CONTENT)){ mContent = savedInstanceState.getString(KEY_CONTENT); } } @覆盖 公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){ TextView的文本=新的TextView(getActivity()); text.setGravity(Gravity.CENTER); text.setText(一些文字); text.setTextSize(20 * getResources()getDisplayMetrics()密度。); text.setPadding(20,20,20,20); 的LinearLayout布局=新的LinearLayout(getActivity()); layout.setLayoutParams(新的LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); layout.setGravity(Gravity.CENTER); layout.addView(文本); 返回布局; }}
解决方案
在 onCreateView()
您可以使用 LayoutInflater
传递进来膨胀布局的第一个参数。
![Android编码,在设置第二活动布局时,setContentView无法读取.xml文件](https://p.xsw88.cn/allimgs/daicuo/20230907/4419.png)
您code会是这个样子:
@覆盖公共查看onCreateView(LayoutInflater充气器,容器的ViewGroup,捆绑savedInstanceState){ 返回inflater.inflate(R.layout.my_fragment_layout,集装箱,FALSE);}
I'm using ViewPageIndicator and I have a problem with using XML layout in code. Usually I'm using setContentView(R.layout.activity_main)
.
Of course I can create layout in code but I prefer to use XML files.
public final class FragmentOne extends Fragment {
private static final String KEY_CONTENT = "FragmentOne";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_CONTENT)) {
mContent = savedInstanceState.getString(KEY_CONTENT);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
TextView text = new TextView(getActivity());
text.setGravity(Gravity.CENTER);
text.setText("some text");
text.setTextSize(20 * getResources().getDisplayMetrics().density);
text.setPadding(20, 20, 20, 20);
LinearLayout layout = new LinearLayout(getActivity());
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
layout.setGravity(Gravity.CENTER);
layout.addView(text);
return layout;
}
}
解决方案
In onCreateView()
you can use the LayoutInflater
passed in as the first argument to inflate the layout.
Your code would look something like this:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.my_fragment_layout, container, false);
}
相关推荐
最新文章