我有一个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