我的旋转器有问题。当按下按钮时,我会在编辑文本中添加旋转器上的项目。按下微调器时,项目会正确显示,但不能进行任何选择,并且微调器上没有显示。
以下是代码:
final ArrayList<String> players = new ArrayList<String>();
ArrayAdapter<String> adapter = new ArrayAdapter<String> (this, android.R.layout.simple_spinner_dropdown_item, players);
final Spinner spinnerplayers = (Spinner)findViewById(R.id.spinnerplayers);
final ImageButton addbutton = (ImageButton)findViewById(R.id.addbutton);
final EditText editname = (EditText)findViewById(R.id.editname);
final EditText editnum = (EditText)findViewById(R.id.editnum);
addbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
players.add(editname.getText().toString()+ " " + editnum.getText().toString());
editname.setText("");
editnum.setText("");
}
});
spinnerplayers.setAdapter(adapter);
final ImageButton removebutton = (ImageButton)findViewById(R.id.removebutton);
removebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
//players.remove(spinnerplayers.getSelectedItem().toString());
}
});
如果需要,spinner xml是:
<Spinner
android:id="@+id/spinnerplayers"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1" />
关于问题出在哪里?
提前致谢。
答案 0 :(得分:0)
如果您的按钮上的clicklistenrs不起作用,您必须为此制作自定义适配器。您将在适配器的getView方法中应用侦听器。
添加你必须添加OnItemSelectedListener。
YOUR_SPINNER.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long arg3) {
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
该职位为您提供物品。
答案 1 :(得分:0)
您是否尝试过指定:
adapter.setNotifyOnChange(true);
刷新适配器,显示每个添加/删除你做的?
答案 2 :(得分:0)
原因是你用android.R.layout.simple_spinner_item设置它。
您可以编写自己的Adapter类:
Spinner spinner = (Spinner) findViewById(R.id.mySpinner);
spinner.setAdapter(new MyCustomAdapter(CLASS.this, R.layout.spinner_layout, players));
然后它看起来就像你在spinner_layout中设计的方式