java.lang.NullPointerException未在android上选择spinner时

时间:2014-01-15 07:03:47

标签: java android spinner android-spinner

当用户未在我的应用程序中选择微调器时,我使用此代码显示提示:

      protected View getView(int position, View convertView, ViewGroup parent) 
      throws IllegalAccessException {

        if( position<0 ) {
            final TextView v= (TextView) ((LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).
                    inflate(android.R.layout.simple_spinner_item, parent, false);
            v.setText("--select one--");
            return v;
        }
        return obj.getView(position,convertView,parent);
    }

当我想在未选中时从spinner保存我的值时遇到一个问题,它总是从这一行返回空指针,例如:

  hubungan_pp.getSelectedItem().toString(),
  hubungan_pp.getSelectedItemPosition()

我的应用程序中有55个微调器,当我单击按钮保存时,我没有选择我的微调器,它总是返回空指针。我的问题是当用户不点击我的微调器时,我如何获得空值?

2 个答案:

答案 0 :(得分:0)

可能hubungan_pp.getSelectedItem()null,因为未选中微调器。因此,当您在其上调用.toString()时,它返回NullPointerException是合乎逻辑的。

答案 1 :(得分:0)

您可以将default selection text添加为“选择一个”或默认值。或者您可以按如下方式处理Null值检查:

String selected_text = "none"
if (hubungan_pp.getSelectedItem() != null)
{
    selected_text = hubungan_pp.getSelectedItem().toString();
}

希望这有帮助。