检查是否选择了微调器并在 Android 中具有空值
Checking if spinner is selected and having null value in Android
我想先根据以下内容检查微调器是否具有空值:
String Name= spinnerName.getSelectedItem().toString();
if(Name != null) {
} else {
}
这是正确的方法吗?因为我得到
FATAL EXCEPTION: main java.lang.NullPointerException
在
String Name= spinnerName.getSelectedItem().toString();
我已经在 Create 上声明了它
spinnerName
为空,或者如果 getSelectedItem()
returns 为空,调用 toString()
将导致您的应用因 NPE
而崩溃
String name= null;
if(spinnerName != null && spinnerName.getSelectedItem() !=null ) {
name = (String)spinnerName.getSelectedItem();
} else {
}
Spinner
项选择的函数
SpinnerName.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapter, View v,int position, long id) {
// On selecting a spinner item
selected_item = adapter.getItemAtPosition(position).toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
检查 selected Item
的条件
if(selected_item.matches("")){
//conditions accordingly
return;
}
if (spinner1.getCount()==0){
Toast.makeText(getApplicationContext(),"spinner hasn't values",
Toast.LENGTH_LONG).show();
}
首先你必须检查微调器中的任何项目是否被选中以及是否被初始化
if (modeOfReportingSpinner.getSelectedItem()!=null){
modeOfString = modeOfReportingSpinner.getSelectedItem().toString();
}
您可以像在此处那样定义出发地和目的地的微调器,然后在按钮内 onClickListener
您可以在开始新的 activity 之前检查值,例如:
if(spinner1.getSelectedItem.toString.equalIgnoreCase(value) && spinner2.getSelectedItem.toString.equalIgnoreCase(value)) {
Intent mIntent = new Intent(MainActivity.this, DetailActivity.class) startActivity(mIntent);
}else{
//Show Toast here
不要添加toString()
。如果您添加 toString()
,它会尝试将 null
转换为 String
,然后它会抛出 Exception
.
if(spinnerName.getSelectedItem() !=null ) {
name = spinnerName.getSelectedItem().toString();
}
我想先根据以下内容检查微调器是否具有空值:
String Name= spinnerName.getSelectedItem().toString();
if(Name != null) {
} else {
}
这是正确的方法吗?因为我得到
FATAL EXCEPTION: main java.lang.NullPointerException
在
String Name= spinnerName.getSelectedItem().toString();
我已经在 Create 上声明了它
spinnerName
为空,或者如果 getSelectedItem()
returns 为空,调用 toString()
将导致您的应用因 NPE
String name= null;
if(spinnerName != null && spinnerName.getSelectedItem() !=null ) {
name = (String)spinnerName.getSelectedItem();
} else {
}
Spinner
项选择的函数
SpinnerName.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapter, View v,int position, long id) {
// On selecting a spinner item
selected_item = adapter.getItemAtPosition(position).toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
检查 selected Item
if(selected_item.matches("")){
//conditions accordingly
return;
}
if (spinner1.getCount()==0){
Toast.makeText(getApplicationContext(),"spinner hasn't values",
Toast.LENGTH_LONG).show();
}
首先你必须检查微调器中的任何项目是否被选中以及是否被初始化
if (modeOfReportingSpinner.getSelectedItem()!=null){
modeOfString = modeOfReportingSpinner.getSelectedItem().toString();
}
您可以像在此处那样定义出发地和目的地的微调器,然后在按钮内 onClickListener
您可以在开始新的 activity 之前检查值,例如:
if(spinner1.getSelectedItem.toString.equalIgnoreCase(value) && spinner2.getSelectedItem.toString.equalIgnoreCase(value)) {
Intent mIntent = new Intent(MainActivity.this, DetailActivity.class) startActivity(mIntent);
}else{
//Show Toast here
不要添加toString()
。如果您添加 toString()
,它会尝试将 null
转换为 String
,然后它会抛出 Exception
.
if(spinnerName.getSelectedItem() !=null ) {
name = spinnerName.getSelectedItem().toString();
}