【发布时间】:2023-03-23 15:30:02
【问题描述】:
我使用 setOnItemSelectedListener 来指定在微调器中选择了哪个项目,但我认为它没有被调用。它应该在程序运行时打印“It works”。
XML 代码:
<Spinner
android:id="@+id/quantity"
android:layout_width="94dp"
android:layout_height="27dp"
android:layout_x="11dp"
android:layout_y="118dp"
/>
Java 代码:
public class quantity extends Activity
{
Spinner quantity;
public void onCreate(Bundle savedInstanceState)
{
quantity=(Spinner)findViewById(R.id.quantity);
quantity.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
{
Object item = parent.getItemAtPosition(pos);
System.out.println("it works... ");
}
public void onNothingSelected(AdapterView<?> parent)
{
}
});
}
}
【问题讨论】:
-
在做 findViewById 之前你有没有调用 setContentView(R.layout.
) -
正如@chopchop 建议的那样,您可能会遇到空指针异常。您尚未将布局的内容设置为活动
-
是的,我做了,但是为了缩短代码我在这里省略了
-
假设您有 setContentView(param); 的任何错误或异常;
-
您是否为您的微调器设置了任何数据(数组),我没有看到任何数据?