我正在尝试位置和列表视图。我正在获取位置结果,并尝试使用以下代码创建位置结果的列表视图:
ListView locationList = (ListView)findViewById(R.id.ListView01);
String[] items = new String[]{};
try {
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(LATITUDE, LONGITUDE, 5);
address_textview.setText( ""+addresses );
Address[] addresses_array = new Address[addresses.size()];
addresses.toArray(addresses_array);
for( int i = 0; i < addresses_array.length; i++ ){
items[i] = addresses_array[i].getPostalCode();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, items);
locationList.setAdapter(adapter);
我的问题是,当我尝试在forloop中写入items数组(items[i] = addresses_array[i].getPostalCode()
)时,我的应用程序崩溃了。
1条答案
按热度按时间lh80um4z1#
将
items
声明为数组,并将其分配为零大小。尝试使用List<string>
(并调整您的适配器,或使用List<T>.toArray
)。