我有element
来自JSON文件的名为viewtype
的1,2,3 ....我根据viewtype
得到了不同的数据。现在在onCreate
我需要根据viewtype
显示布局。我怎样才能做到这一点?基于ifCondition
,是否可以这样做。
答案 0 :(得分:1)
在创建您的活动或片段时,只需在您的视图类型上创建条件,并为您想要的布局充气。
这个例子将更具说明性:
在一项活动中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
switch(viewType){
case 1:
setContentView(R.layout.layout_1);
break;
case 2:
setContentView(R.layout.layout_2);
break;
default:
setContentView(R.layout.layout_default);
break;
}
}
并在片段中:
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view;
switch(viewType){
case 1:
view = inflater.inflate(R.layout.layout_1, container, false);
break;
case 2:
view = inflater.inflate(R.layout.layout_2, container, false);
break;
default:
view = inflater.inflate(R.layout.layout_default, container, false);
break;
}
return view;
}
但是你需要为每个不同的布局处理不同的视图(如果有的话),所以我建议将方法放在每个条件中,以便扩展布局并处理不同的视图。
此致 马修