我会来天堂还是下地狱? 由于我必须填充5个微调器,我尝试了非常紧凑的代码。我不明白为什么我应该使用ArrayAdapter,所以我只是将它删除,尽管所有教程都使用它。因为它有效,我被贬低了。代码只显示一个微调器:
Spinner s2_height = (Spinner)findViewById(R.id.s2_height);
s2_height.setOnItemSelectedListener(new OnItemSelectedListener() { //Register a callback to be invoked when an item in this AdapterView has been selected.
public void onItemSelected(AdapterView<?> arg0, View arg1, //Callback method to be invoked when an item in this view has been selected
int arg2, long arg3) {
myCalc();}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
这是我的.java中的位置,在那里我删除了ArrayAdapter部分,通常在教程中重新编写为:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.Height_array_id, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s2_height.setAdapter(adapter);
令人惊讶的是,它有效,我放置了一个方法myCalc,它可以正确显示所有5个微调器上的ItemPosition。现在我担心我会在另一个地方出现任何缺点,可能会改变颜色或文字高度。有人有同样的问题吗?
答案 0 :(得分:6)
我会来天堂还是下地狱?
这对你的牧师,部长,拉比等问题来说。这不是StackOverflow的相关问题。
我不明白为什么我应该使用ArrayAdapter,所以我只是把它删掉了
您不必使用ArrayAdapter
,但必须使用某种形式的SpinnerAdapter
通过Spinner
填充setAdapter()
。否则,Spinner
将为空。如果您的Spinner
不为空,则表示您在某处调用了setAdapter()
。