在插入到 Android SQLite 数据库时,我想跳过用户未填写的值。但我收到空指针异常。在我的 DBHelper 类中,我尝试了 "... NOT NULL" 并且没有 not null 选项,但我认为这不是解决方案。 public void addToDb(View view) { SharedPreferences sharedPreferences = getSharedPreferences("entry",0); float lastlatitude = sharedPreferences.getFloat("latitude",0f); float lastlongitude = sharedPreferences.getFloat("longitude",0f); if (mTitleInput.getText().length() == 0 || mEntryInput.getText().length() == 0) { return; } try { Date a = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("EEE, MMM d, ''yy"); String o = sdf.format(a); title = mTitleInput.getText().toString(); entry = mEntryInput.getText().toString(); dateStr = o; image = getApplicationContext().getFilesDir().getAbsolutePath() + String.valueOf(System.currentTimeMillis()) + ".jpg"; rating = mRatingBar.getRating(); latitude = lastlatitude; longitude = lastlongitude; } catch (NumberFormatException ex) { Log.e(LOG_TAG, "Failed to parse party size text to number: " + ex.getMessage()); } // Add to mDb addNewEntry(title, entry, dateStr, image, rating, latitude, longitude); //clear UI text fields mTitleInput.getText().clear(); mEntryInput.getText().clear();}
1 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
例如,您必须检查它们是否为空
dateStr = o == null ? "" : o;
这将检查是否o
为空,如果是,则将 dateStr 设置为空,否则将使用 o。您可以将其用于所有变量。
添加回答
举报
0/150
提交
取消