一部のユーザーが以下のコードの onClick メソッドで null ポインターを報告している Android アプリがあります。ログには 226 行目と、selectedAlbum.getId() が null をチェックしている場所が表示されます。エラーは発生しませんが、市場レポートでは 2 つのデバイスでこのエラーが表示されます。これを修正するにはどうすればよいですか?
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;