android 微调器如果选择了某些项目,其他微调器消失了
android spinner if some item selected, other spinner gone
微调器 a 有 2 个项目:毒药和 non_poison
旋转器 b 有 2 个项目:飞镖蛙和毒蛇
微调器 c 有 2 个项目:鸡肉和鸡蛋
长话短说,我想做
"IF" 在微调器上选择的项目 a = 毒药
"THEN" 旋转器 b = 可见,旋转器 c = 消失
这是我的代码,尝试使用 setOnItemSelectedListener,没有显示错误,但它没有按照预期的方式工作,我在这里遗漏了什么吗?请帮助我....
public class eatable extends Fragment {
public String spinner1x;
@Nullable
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
final FrameLayout mRelative = (FrameLayout) inflater.inflate(R.layout.berita_layout, container, false);
final TextView text1 = (TextView) mRelative.findViewById(R.id.text_test1);
final TextView text2 = (TextView) mRelative.findViewById(R.id.text_test2);
final TextView text3 = (TextView) mRelative.findViewById(R.id.text_test3);
final Spinner spinner1 = (Spinner) mRelative.findViewById(R.id.spinner_test1);
final Spinner spinner2 = (Spinner) mRelative.findViewById(R.id.spinner_test2);
final Spinner spinner3 = (Spinner) mRelative.findViewById(R.id.spinner_test3);
spinner1x = spinner1.getSelectedItem().toString();
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> mRelative, View selectedItemView, int position, long id) {
// your code here
if (spinner1x.equals("poison")){
spinner2.setVisibility(View.VISIBLE);
spinner3.setVisibility(View.GONE);
}
}
});
return mRelative;
}
}
您忘记检索微调器当前 选定的项目 并将其保存到 spinner1x
字符串,并实施 onNothingSelected
方法:
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> mRelative, View selectedItemView, int position, long id) {
spinner1x = mRelative.getItemAtPosition(position).toString();
// your code here
if (spinner1x.equals("poison")){
spinner2.setVisibility(View.VISIBLE);
spinner3.setVisibility(View.GONE);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
});
The AdapterView.OnItemSelectedListener requires the onItemSelected()
and onNothingSelected()
callback methods.
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> mRelative, View selectedItemView, int position, long id) {
// Use spinner item position for this.
if (position == 0){
spinner2.setVisibility(View.VISIBLE);
spinner3.setVisibility(View.GONE);
}
}
});
我只是在使用您的代码进行更正..
public class eatable extends Fragment {
public String spinner1x;
@Nullable
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
final FrameLayout mRelative = (FrameLayout) inflater.inflate(R.layout.berita_layout, container, false);
final TextView text1 = (TextView) mRelative.findViewById(R.id.text_test1);
final TextView text2 = (TextView) mRelative.findViewById(R.id.text_test2);
final TextView text3 = (TextView) mRelative.findViewById(R.id.text_test3);
final Spinner spinner1 = (Spinner) mRelative.findViewById(R.id.spinner_test1);
final Spinner spinner2 = (Spinner) mRelative.findViewById(R.id.spinner_test2);
final Spinner spinner3 = (Spinner) mRelative.findViewById(R.id.spinner_test3);
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> mRelative, View selectedItemView, int position, long id) {
// your code here
spinner1x = spinner1.getSelectedItem().toString();
if (spinner1x.equals("poison")){
spinner2.setVisibility(View.VISIBLE);
spinner3.setVisibility(View.GONE);
}else {
spinner2.setVisibility(View.GONE);
spinner3.setVisibility(View.VISIBLE);
}
}
});
return mRelative;
}
}
微调器 a 有 2 个项目:毒药和 non_poison
旋转器 b 有 2 个项目:飞镖蛙和毒蛇
微调器 c 有 2 个项目:鸡肉和鸡蛋
长话短说,我想做 "IF" 在微调器上选择的项目 a = 毒药 "THEN" 旋转器 b = 可见,旋转器 c = 消失
这是我的代码,尝试使用 setOnItemSelectedListener,没有显示错误,但它没有按照预期的方式工作,我在这里遗漏了什么吗?请帮助我....
public class eatable extends Fragment {
public String spinner1x;
@Nullable
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
final FrameLayout mRelative = (FrameLayout) inflater.inflate(R.layout.berita_layout, container, false);
final TextView text1 = (TextView) mRelative.findViewById(R.id.text_test1);
final TextView text2 = (TextView) mRelative.findViewById(R.id.text_test2);
final TextView text3 = (TextView) mRelative.findViewById(R.id.text_test3);
final Spinner spinner1 = (Spinner) mRelative.findViewById(R.id.spinner_test1);
final Spinner spinner2 = (Spinner) mRelative.findViewById(R.id.spinner_test2);
final Spinner spinner3 = (Spinner) mRelative.findViewById(R.id.spinner_test3);
spinner1x = spinner1.getSelectedItem().toString();
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> mRelative, View selectedItemView, int position, long id) {
// your code here
if (spinner1x.equals("poison")){
spinner2.setVisibility(View.VISIBLE);
spinner3.setVisibility(View.GONE);
}
}
});
return mRelative;
}
}
您忘记检索微调器当前 选定的项目 并将其保存到 spinner1x
字符串,并实施 onNothingSelected
方法:
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> mRelative, View selectedItemView, int position, long id) {
spinner1x = mRelative.getItemAtPosition(position).toString();
// your code here
if (spinner1x.equals("poison")){
spinner2.setVisibility(View.VISIBLE);
spinner3.setVisibility(View.GONE);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
});
The AdapterView.OnItemSelectedListener requires the
onItemSelected()
andonNothingSelected()
callback methods.
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> mRelative, View selectedItemView, int position, long id) {
// Use spinner item position for this.
if (position == 0){
spinner2.setVisibility(View.VISIBLE);
spinner3.setVisibility(View.GONE);
}
}
});
我只是在使用您的代码进行更正..
public class eatable extends Fragment {
public String spinner1x;
@Nullable
@Override
public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {
final FrameLayout mRelative = (FrameLayout) inflater.inflate(R.layout.berita_layout, container, false);
final TextView text1 = (TextView) mRelative.findViewById(R.id.text_test1);
final TextView text2 = (TextView) mRelative.findViewById(R.id.text_test2);
final TextView text3 = (TextView) mRelative.findViewById(R.id.text_test3);
final Spinner spinner1 = (Spinner) mRelative.findViewById(R.id.spinner_test1);
final Spinner spinner2 = (Spinner) mRelative.findViewById(R.id.spinner_test2);
final Spinner spinner3 = (Spinner) mRelative.findViewById(R.id.spinner_test3);
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> mRelative, View selectedItemView, int position, long id) {
// your code here
spinner1x = spinner1.getSelectedItem().toString();
if (spinner1x.equals("poison")){
spinner2.setVisibility(View.VISIBLE);
spinner3.setVisibility(View.GONE);
}else {
spinner2.setVisibility(View.GONE);
spinner3.setVisibility(View.VISIBLE);
}
}
});
return mRelative;
}
}