我想让Spinner设置表的可见性,我有2个数组字符串“ cuboid and圆筒”。如果我选择Cuboid,则cubeT表可见,而cyclinderT表不可见。如果我选择Cylinder,则cylinderT表是可见的,而cubeT是不可见的。
欢迎使用示例代码。谢谢您的宝贵时间。
答案 0 :(得分:0)
您可以为Spinner设置一个OnItemSelectedListener,然后使用int position
参数来决定要采取的操作。
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
switch (position) {
case Cuboid:
cubeT.setVisibility(View.VISIBLE);
cylinderT.setVisibility(View.GONE);
break;
....
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView) { }
});
答案 1 :(得分:0)
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
String text = ((Spinner)spinner).getSelectedItem().toString();
if (Intrinsics.areEqual(text, "Cuboid")) {
//Your code here to set your "table" as cubeT if it's image in imageview
//if it's a "tableLayout" you may create 2 different layouts included and..:
setContentView(R.layout.your_cubeT_layout);
} else if (Intrinsics.areEqual(text, "Cylinder")) {
setContentView(R.layout.your_cyclinderT_layout);
}
} //when it comes to use different layouts on the same activity, generally suggestions made over fragments to make your code more dynamic but i don't know how to do that...
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
多年以来我一直没有使用Java,所以我可能编写的代码很糟糕...因此,没有保修!