设置在 Spinner 上选择的基于 TableLayout 的项目的可见性
Set visibility TableLayout based item selected on Spinner
我想让 Spinner 设置 table 的可见性,我有 2 个数组字符串 "cuboid and cylinder"。如果 i select Cuboid , cubeT table 是可见的, cyclinderT table 是不可见的。如果 i select Cylinder , cylinderT table 是可见的并且 cubeT 是不可见的。
欢迎提供示例代码。谢谢你的时间。
您可以为您的 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) { }
});
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 所以我可能编码不好...所以没有保修!
我想让 Spinner 设置 table 的可见性,我有 2 个数组字符串 "cuboid and cylinder"。如果 i select Cuboid , cubeT table 是可见的, cyclinderT table 是不可见的。如果 i select Cylinder , cylinderT table 是可见的并且 cubeT 是不可见的。
欢迎提供示例代码。谢谢你的时间。
您可以为您的 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) { }
});
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 所以我可能编码不好...所以没有保修!