Java 微调器不';无法工作setOnItemSelectedListener
当我在Java 微调器不';无法工作setOnItemSelectedListener,java,android,android-spinner,Java,Android,Android Spinner,当我在微调器中选择数据时,Onitemselectedlistener不起作用。我不知道怎么了 我选择的数据无法读取。如何读取在微调器中选择的数据?此版本的代码不起作用,选定的数据不显示 public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, AdapterView.OnItemSelectedListener, View.OnT
微调器中选择数据时,Onitemselectedlistener
不起作用。我不知道怎么了
我选择的数据无法读取。如何读取在微调器中选择的数据?此版本的代码不起作用,选定的数据不显示
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, AdapterView.OnItemSelectedListener, View.OnTouchListener {
private Spinner spinner;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
spinner = (Spinner) findViewById(R.id.spinnerMain);
ArrayAdapter < String > adapterSpinner = new ArrayAdapter < String > (MainActivity.this,
android.R.layout.simple_spinner_item, Rooms);
adapterSpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapterSpinner);
spinner.setOnItemSelectedListener(MainActivity.this);
adapterSpinner.notifyDataSetChanged();
final AdapterView.OnItemSelectedListener listener = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView < ? > adapterView, View view, int i, long l) {
switch (i) {
case 0:
break;
case 1:
break;
case 2:
break;
}
}
@Override
public void onNothingSelected(AdapterView < ? > adapterView) {
}
};
final Spinner spnLocale = (Spinner) findViewById(R.id.spinnerMain);
spnLocale.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView < ? > adapterView, View view, int i, long l) {
Toast.makeText(MainActivity.this, "Selected", Toast.LENGTH_SHORT).show();
spnLocale.setOnItemSelectedListener(listener);
}
public void onNothingSelected(AdapterView < ? > adapterView) {
return;
}
});
// ...
}
// ...
}
公共类MainActivity扩展AppCompative实现NavigationView.OnNavigationItemSelectedListener、AdapterView.OnItemSelectedListener、View.OnTouchListener{
私人纺纱机;
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
微调器=(微调器)findViewById(R.id.spinnerMain);
ArrayAdapteradapterSpinner=新的ArrayAdapter(MainActivity.this,
android.R.layout.simple_微调器(项目、房间);
adapterSpinner.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋扣器、转接器(转接器旋扣器);
spinner.setOnItemSelectedListener(MainActivity.this);
adapterSpinner.notifyDataSetChanged();
最终AdapterView.OnItemSelectedListener侦听器=新AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView<?>AdapterView、视图、内部i、长l){
开关(一){
案例0:
打破
案例1:
打破
案例2:
打破
}
}
@凌驾
未选择公共无效(AdapterView<?>AdapterView){
}
};
最终微调器spnLocale=(微调器)findViewById(R.id.spinnerMain);
setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
已选择公共视图(AdapterView<?>AdapterView、视图、内部i、长l){
Toast.makeText(MainActivity.this,“Selected”,Toast.LENGTH_SHORT.show();
spnLocale.setOnItemSelectedListener(listener);
}
未选择公共无效(AdapterView<?>AdapterView){
返回;
}
});
// ...
}
// ...
}
您已经在顶部使用了全局微调器。实现侦听器,如下所示-
spinner.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(MainActivity.this, "Selected", Toast.LENGTH_SHORT).show();
spinner.setOnItemSelectedListener(listener);
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});
spinner.setOnItemSelectedListener(新)
AdapterView.OnItemSelectedListener(){
已选择公共视图(AdapterView AdapterView、View视图、int i、long l){
Toast.makeText(MainActivity.this,“Selected”,Toast.LENGTH_SHORT.show();
spinner.setOnItemSelectedListener(listener);
}
未选择公共无效(AdapterView AdapterView){
返回;
}
});
您已经在顶部使用了全局微调器。实现侦听器,如下所示-
spinner.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(MainActivity.this, "Selected", Toast.LENGTH_SHORT).show();
spinner.setOnItemSelectedListener(listener);
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});
spinner.setOnItemSelectedListener(新)
AdapterView.OnItemSelectedListener(){
已选择公共视图(AdapterView AdapterView、View视图、int i、long l){
Toast.makeText(MainActivity.this,“Selected”,Toast.LENGTH_SHORT.show();
spinner.setOnItemSelectedListener(listener);
}
未选择公共无效(AdapterView AdapterView){
返回;
}
});
为什么要使用spnLocale.setOnItemSelectedListener
两次?我一次使用它就不起作用了。你有两个微调器对吗?你是说问题中的spnLocale
还是spnLocale
微调器?试试我的答案,然后检查一下为什么要使用spnLocale.setOnItemSelectedListener
两次?没有一旦我使用它,就开始工作。你有两个微调器,对吗?你是说问题中的spnLocale
还是spinner
?试试我的答案,然后核对一下