在将数组加载到位于不同视图上的旋转器时出现问题。该数组在arrays.xml中以啤酒样式的名称正确定义。在carbonationcalculator_view.xml中,beerstylespinner被定义为旋转器的id。当代码在主java类中,而不是在额外的二氧化碳计算器类中时,这是可行的。除了没有填充数组的旋转器之外,一切都正常工作。
以下是代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.carbonationcalculator_view);
Spinner s = (Spinner) findViewById(R.id.beerstylespinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.beerstyles, R.layout.carbonationcalculator_view);
adapter.setDropDownViewResource(R.layout.carbonationcalculator_view);
s.setAdapter(adapter);
}发布于 2009-12-01 18:14:20
我不确定这是否能解决这个问题,但是对于为Adapter的下拉资源设置什么布局似乎有些困惑。setContentView()应该用于您希望为活动设置的视图;但是,下拉资源应该是您希望每一行看起来的那样。
您应该使用的是类似于android.R.layout.simple_list_item_1的东西。您可以模拟演示List1.java,但是不需要使用它们的构造函数:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.beerstyles, android.R.layout.simple_list_item_1);另外,您不需要在使用ArrayAdapter.setDropDownViewResource()之后调用ArrayAdapter.createFromResource() --第三个参数是下拉视图资源。
https://stackoverflow.com/questions/1823660
复制相似问题