我有一個android應用程序,一些用戶報告下面的代碼的onClick方法的空指針。日誌顯示第226行,其中selectedAlbum.getId()檢查爲空。我沒有遇到錯誤,但是市場報告在2個設備上顯示此錯誤。我能做些什麼來解決這個問題?onClick上的空指針()
public void onClick(View v) {
Log.v("uploadButton", "uploadButton Clicked");
if ((selectedAlbum.getId() == null)
|| (selectedAlbum.getId() == "")) {
Toast.makeText(getApplicationContext(),
"Please Select an Album First", Toast.LENGTH_LONG)
.show();
} else {
if (m_photos.isEmpty()) {
Toast.makeText(getApplicationContext(),
"No Pictures Selected", Toast.LENGTH_LONG)
.show();
} else {
// Do action to upload photos from array to facebook
progressDialog = ProgressDialog
.show(EasyPhotoUpload.this, "",
"Uploading Photos...");
Log.v("uploadButton", "Starting upload thread");
new Thread(new Runnable() {
@Override
public void run() {
Log.v("uploadButton", "running.....");
這裏是設置selectedAlbum的代碼。
public class AlbumSelectedListener implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
selectedAlbum = (Album) albumSpinner.getItemAtPosition(pos);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {/* not implemented */
}
}
selectedAlbum也在活動開始和onCreate之前設置。
public Album selectedAlbum;
可能selectedAlbum爲null,你調用selectedAlbum.getId(),它會拋出空指針異常。 – Jason 2012-08-13 03:52:41
請發佈將代碼賦值給selectedAlbum的代碼。 – 2012-08-13 03:55:23
我看到你更新了selectAlbum被初始化的問題。 onClick()方法如何影響因素?這是一個始終可見的按鈕,是否隱藏到選擇專輯或其他內容? – Sam 2012-08-13 04:10:32