我在下面的代码中遇到以下错误,任何人都可以指导我这里错了吗?
public class FragmentTwo extends Fragment implements OnClickListener {
ImageView imageSection, imageClose, imageView;
TextView tvTitle, tvFeatureOne, tvFeatureTwo, tvFeatureThree, tvFeatureFour, tvFeatureFive;
ImageView imageFeatureOne, imageFeatureTwo, imageFeatureThree, imageFeatureFour, imageFeatureFive;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_get_tour, container, false);
imageSection = (ImageView) rootView.findViewById(R.id.imageSection);
imageSection.setImageResource(R.drawable.tour2);
imageClose = (ImageView) rootView.findViewById(R.id.imageClose);
imageClose.setOnClickListener(this);
imageView = (ImageView) rootView.findViewById(R.id.imageGetTour);
tvTitle = (TextView) rootView.findViewById(R.id.tvTitle);
tvTitle.setText(Splash.getTourList.get(1).getTitle());
loader.DisplayImage(Splash.getTourList.get(1).getImage(), imageView);
String string = Splash.getTourList.get(1).getFeature();
String strin[] = string.split(":");
for (int i = 0; i < strin.length; i++) {
switch (i) {
case 0:
tvFeatureOne = (TextView) rootView.findViewById(R.id.tvFeatureOne);
tvFeatureOne.setText(strin[i]);
tvFeatureOne.setVisibility(View.VISIBLE);
imageFeatureOne = (ImageView) rootView.findViewById(R.id.imageFeatureOne);
imageFeatureOne.setVisibility(View.VISIBLE);
break;
case 1:
tvFeatureTwo = (TextView) rootView.findViewById(R.id.tvFeatureTwo);
tvFeatureTwo.setText(strin[i]);
tvFeatureTwo.setVisibility(View.VISIBLE);
imageFeatureTwo = (ImageView) rootView.findViewById(R.id.imageFeatureTwo);
imageFeatureTwo.setVisibility(View.VISIBLE);
break;
case 2:
tvFeatureThree = (TextView) rootView.findViewById(R.id.tvFeatureThree);
tvFeatureThree.setText(strin[i]);
tvFeatureThree.setVisibility(View.VISIBLE);
imageFeatureThree = (ImageView) rootView.findViewById(R.id.imageFeatureThree);
imageFeatureThree.setVisibility(View.VISIBLE);
break;
case 3:
tvFeatureFour = (TextView) rootView.findViewById(R.id.tvFeatureFour);
tvFeatureFour.setText(strin[i]);
tvFeatureFour.setVisibility(View.VISIBLE);
imageFeatureFour = (ImageView) rootView.findViewById(R.id.imageFeatureFour);
imageFeatureFour.setVisibility(View.VISIBLE);
break;
case 4:
tvFeatureFive = (TextView) rootView.findViewById(R.id.tvFeatureFive);
tvFeatureFive.setText(strin[i]);
tvFeatureFive.setVisibility(View.VISIBLE);
imageFeatureFive = (ImageView) rootView.findViewById(R.id.imageFeatureFive);
imageFeatureFive.setVisibility(View.VISIBLE);
break;
}
}
return rootView;
}
@Override
public void onClick(View v) {
finishActivity();
}
}
答案 0 :(得分:0)
要实现相同的功能,请将片段创建为不同的类。 onClick()应该调用 - getActivity()。finishActivity();
原因是片段不应该绑定到外部类并且具有默认构造函数,因为操作系统可以重新创建它。