Android 安卓旋转器法
我试图在我的微调器教程上练习,但它似乎没有显示标题。谁能告诉我,我可能忽略了哪一部分Android 安卓旋转器法,android,spinner,Android,Spinner,我试图在我的微调器教程上练习,但它似乎没有显示标题。谁能告诉我,我可能忽略了哪一部分 public class HelloSpinnerActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);
public class HelloSpinnerActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
spinnertest = (Spinner) findViewById(R.id.Spinner01);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.Planets, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnertest.setAdapter(adapter);
spinnertest.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Toast.makeText(parent.getContext(), "The planet is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
}
公共类HellosInnerActivity扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
喷丝头测试=(喷丝头)findViewById(R.id.Spinner01);
ArrayAdapter=ArrayAdapter.createFromResource(
这个,R.array.Planets,android.R.layout.simple\u spinner\u item);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
喷丝头试验.设置适配器(适配器);
spinnertest.setOnItemSelectedListener(新的MyOnItemSelectedListener());
}
公共类MyOnItemSelectedListener实现OnItemSelectedListener{
已选择公共无效项(AdapterView父项,
视图,内部位置,长id){
Toast.makeText(parent.getContext(),“星球是”+
parent.getItemAtPosition(pos.toString(),Toast.LENGTH_LONG.show();
}
未选择公共无效(AdapterView父级){
//什么也不做。
}
}
}
main.xml
<Spinner
android:id="@+id/Spinner01"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:prompt = "@string/planet_prompt"
android:entries ="@array/Planets">
</Spinner>
strings.xml
<string name="app_name">Spinner</string>
<string name="planet_prompt"> Select a planet </string>
<string-array name="Planets">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
<item>Pluto</item>
</string-array>
微调器
选择一个行星
水星
维纳斯
土
火星
木星
土星
天王星
海王星
冥王星
不太确定这是否是可行的解决方案是否会有所帮助(您可能有特定的理由按照自己的方式尝试),但在过去,我只是将提示文本添加到微调器字符串数组的顶部(位置0),然后默认情况下它会显示在小部件中。然后,在“onItemSelected”中,如果pos==0,我将忽略任何内容。我不知道“header”的确切含义,但教程在main.xml的文本视图中显示了一个提示,您没有显示:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="@string/planet_prompt" />
请发布问题的快照。将异常堆栈添加到日志中可能重复的
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}