在Android中,我想使用Spinner(当用户尚未进行选择时)显示文本"Select One".当用户单击微调器时,将显示项目列表,并且用户选择其中一个选项.用户进行选择后,所选项目将显示在微调器中,而不是"选择一个".
我有以下代码来创建一个Spinner:
String[] items = new String[] {"One", "Two", "Three"};
Spinner spinner = (Spinner) findViewById(R.id.mySpinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
使用此代码,最初显示项目"One".我可以在项目中添加一个新项目"Select One",但是"Select One"也会在下拉列表中显示为第一项,这不是我想要的.
我该如何解决这个问题?
我正在尝试使用默认的空选定项创建一个微调器,但它显示了微调器选项中的第一个项.如果我将空值添加到我的字符串(这是spinner中的选择源),则在打开微调器后显示空行.我该怎么办?这是我正在使用的代码:
String[] ch = {"Session1", "Session2", "Session3"};
Spinner sp = (Spinner)findViewById(R.id.spinner1);
TextView sess_name = findViewById(R.id.sessname);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,ch);
sp.setAdapter(adapter);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener({
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
int index = arg0.getSelectedItemPosition();
sess_name.setText(ch[index]);
Toast.makeText(getBaseContext(), "You have selected item : " + ch[index], Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)