用户输入会导致表单出现

时间:2011-06-23 16:15:14

标签: java android forms input

我希望当用户在Spinner上选择“组合”时出现EditText对象,我该怎么做?

以下是我一直在尝试的内容:

     ground = (Spinner) findViewById(R.id.ground);
    ArrayAdapter<CharSequence> groundAdapter = ArrayAdapter.createFromResource(
            this, R.array.ground_array, android.R.layout.simple_spinner_item);
    groundAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    ground.setAdapter(groundAdapter);
    ground.setOnItemSelectedListener(new GroundListener());
    if(ground.getSelectedItem().toString().equalsIgnoreCase("Combination"))
    {
        combo.setVisibility(0);
    }

EditText对象组合在xml文件中设置为android:visibility="gone"

GroundListener代码是

     public class GroundListener implements OnItemSelectedListener {

            public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
                String selected = parent.getItemAtPosition(pos).toString();
            }

            public void onNothingSelected(AdapterView parent)
            {
                // Do nothing.
            }
        }

1 个答案:

答案 0 :(得分:1)

什么是GroundListener?

您不应该使用AdapterView.OnItemSelectedListener方法使用onItemSelected吗?

此外,为了便于阅读,请使用setVisibility(View.VISIBLE)而不是0。

修改

我不明白你在使用你的代码做什么,你的GroundListener没有插入任何东西,你的测试在听众之外。

尝试:

ground.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {

           if(parent.getItemAtPosition(pos).toString().equalsIgnoreCase("Combination"))
            {
              combo.setVisibility(View.VISIBLE);
            }
        }

        public void onNothingSelected(AdapterView parent)
        {
            // Do nothing.
        }
    });

检查是否有效,然后将您的GroundListener中的代码带回来查看它是否有效。您可能遇到问题,但GroundListener可能不知道什么是组合。但是你会解决这个问题。

修改

语法更正