首先,我是Android新手并自学,所以我不是要求你为我编码。只要给我一些术语,主题或研究对象,我就会看书并弄清楚。
我正在创建一个应用程序,用户可以通过按下按钮或选择图像来设置屏幕上显示的内容。我知道如何执行此操作的唯一方法是让onClickListener设置变量并使用switch语句显示与所选变量对应的imageView。
示例:
//on click listeners set variable userPic1 and userPic2
switch(userPic1){
case 1:
pic11.setVisibility(View.VISIBLE);
pic12.setVisibility(View.GONE);
pic13.setVisibility(View.GONE);
pic14.setVisibility(View.GONE);
break;
case 2:
pic11.setVisibility(View.GONE);
pic12.setVisibility(View.VISIBLE);
pic13.setVisibility(View.GONE);
pic14.setVisibility(View.GONE);
break;
case 3:
pic11.setVisibility(View.GONE);
pic12.setVisibility(View.GONE);
pic13.setVisibility(View.VISIBLE);
pic14.setVisibility(View.GONE);
break;
case 4:
pic11.setVisibility(View.GONE);
pic12.setVisibility(View.GONE);
pic13.setVisibility(View.GONE);
pic14.setVisibility(View.VISIBLE);
break;
}
switch(userPic2){
case 1:
pic21.setVisibility(View.VISIBLE);
pic22.setVisibility(View.GONE);
pic23.setVisibility(View.GONE);
pic24.setVisibility(View.GONE);
break;
case 2:
pic21.setVisibility(View.GONE);
pic22.setVisibility(View.VISIBLE);
pic23.setVisibility(View.GONE);
pic24.setVisibility(View.GONE);
break;
case 3:
pic21.setVisibility(View.GONE);
pic22.setVisibility(View.GONE);
pic23.setVisibility(View.VISIBLE);
pic24.setVisibility(View.GONE);
break;
case 4:
pic21.setVisibility(View.GONE);
pic22.setVisibility(View.GONE);
pic23.setVisibility(View.GONE);
pic24.setVisibility(View.VISIBLE);
break;
}
}
我觉得可能有更好的方法来编写代码,但更大的问题在于我的XML布局。我将所有这些图像视图叠加在一起,很难看出它们的外观,因为它只是一团糟。
感谢任何帮助
答案 0 :(得分:0)
http://developer.android.com/reference/android/widget/ViewFlipper.html会让您更容易管理,而不会出现这种不守规矩的代码。
答案 1 :(得分:0)
如果您尝试在多个视图之间切换,建议使用ViewFlipper
可能会有所帮助。但是,如果您真的只是更改图像而不需要更改布局而不是创建大量视图,我只需在ImageView
上设置图像(我假设picXX是{{ 1}})。您可以将ID存储在一个或两个数组中,然后从那里获取它们。类似的东西:
ImageViews
然后:
int[] userPics1 = new int[] {R.drawable.pic1, R.drawable.pic2, ... }