我对spinner
感到有些问题。
我创建一个Spinner
用户点击一个按钮。 Spinner
显示为应该显示的,但是当应该调用onItemSelected
时,没有任何事情发生。
这是代码
public void setUpSpinner(){
spinner = new Spinner(this);
CustomArrayAdapter<String> adapter = new CustomArrayAdapter<String>(this, android.R.layout.simple_spinner_item, getAsStrings());
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
public void onClick(View view) {
spinner.performClick();
}
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String getName = (String) spinner.getSelectedItem();
getListFromName(getName);
}
有人知道这里有什么问题吗?
谢谢你们。
答案 0 :(得分:18)
通过在我的Spinner
中添加xml
并将高度和宽度设置为零来解决问题。
答案 1 :(得分:0)
这看起来很像turorial,所以请回过头来看看。见下文:
我没有看到这个,但主类是否实现了OnItemSelectedListener?此外,您将要在主类主体中的onCreate()内实例化Spinner。
这一行必须在onCreate()之内;
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
答案 2 :(得分:0)
为什么你在设置中有spinner = new Spinner(this)
?
您的布局的XML中肯定有一个Spinner,然后您只需执行spinner = (Spinner) findViewById(R.id.WHATEVER_THE_ID_IS_IN_THE_XML);
,因此您不需要new
P.S。这就是我在XML布局中定义Spinner的方法
<Spinner
android:id="@+id/SPINNER_ID"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:gravity="center_horizontal" />