我正在尝试显示包含所有地图标记标题和片段的列表视图。除了显示标记信息的数据没有正确显示外,我一切正常。有什么帮助吗?
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.google.android.gms.maps.model.Marker;
public class FarmMarketList extends Activity
{
ListView marketList;
ArrayList<Marker> markets;
ArrayAdapter<Marker> listAdapter;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.farm_market_list);
marketList = (ListView) findViewById(R.id.listFarmMarkets);
markets = RSFM.list;
listAdapter = new ArrayAdapter<Marker>(FarmMarketList.this, android.R.layout.simple_list_item_1, markets);
marketList.setAdapter(listAdapter);
}
}
以下是我在其他活动中添加标记的位置:
for(int i = 0; i < Lat.length; i++)
{
Marker marker = map.addMarker(new MarkerOptions()
.position(new LatLng(Lat[i], Lon[i]))
.title(Market[i])
.snippet(Address[i])
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
list.add(marker);
}
以下是我的列表视图中数据的显示方式。
答案 0 :(得分:0)
它就像你写的那样工作。它显示每行中toString()
个对象的Marker
值,因为这是ArrayAdapter
的默认行为。恰好toString()
上的Marker
对用户来说并不是特别有用。
创建您自己的ArrayAdapter<Marker>
子类,覆盖getView()
并根据Marker
数据格式化您认为合适的行。