private ListView listView;
private List<String> userNames,desc,lat,lon,image, placeNames;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places_list);
setTitle("Places List");
listView=(ListView) findViewById(R.id.placesListView);
userNames=new ArrayList<String>();
placeNames = new ArrayList<String>();
desc=new ArrayList();image=new ArrayList();
lat=new ArrayList();lon=new ArrayList();
userNames=getIntent().getStringArrayListExtra("userNames");
placeNames=getIntent().getStringArrayListExtra("placeNames");
desc=getIntent().getStringArrayListExtra("desc");
image=getIntent().getStringArrayListExtra("image");
lat=getIntent().getStringArrayListExtra("lat");
lon=getIntent().getStringArrayListExtra("lon");
final ArrayAdapter arrayAdapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1,userNames);
listView.setAdapter(arrayAdapter);
java.lang.NullPointerException:尝试调用接口方法&#39; int java.util.List.size()&#39;在null对象referencejava.util.List.size()&#39;在null对象引用上 如何避免异常?
答案 0 :(得分:0)
我认为当您尝试在适配器中设置userNames时,只会因为您将userNames列表设为null而首先检查然后设置如下
if(userNames!=null){
final ArrayAdapter arrayAdapter=new ArrayAdapter(this, android.R.layout.simple_list_item_1,userNames);
listView.setAdapter(arrayAdapter);
}
答案 1 :(得分:0)
Now the app is not crashing , but list isn't displaying.
I am able to display values in invoking activity.
`enter code here`
if(userNames.size()>0)
{
Log.i("OOOOOOO",userNames.get(0)+"'"+userNames.get(1));
}
Intent intent=new Intent(ViewActivity.this,PlacesListActivity.class); intent.putStringArrayListExtra("userNames",userNames);intent.putStringArrayListExtra("placeNames",placeNames);
intent.putStringArrayListExtra("desc",desc);intent.putStringArrayListExtra("image",image);
intent.putStringArrayListExtra("lat",lat);intent.putStringArrayListExtra("lon",lon);
startActivity(new Intent(ViewActivity.this,PlacesListActivity.class));