我希望当用户在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.
}
}
答案 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可能不知道什么是组合。但是你会解决这个问题。
修改强>
语法更正