我想从sqlite数据库中获取经纬度数据。
所以我在下面使用了这段代码,但是 getListAdapter()
中有问题。它说我必须创建“getListAdapter()
”方法。我在网上搜索,但没有 getListAdapter()
方法的示例。
你能修复我的代码吗?因此,如果我单击该项目,它将为我提供数据库中的纬度和经度数据。
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
//TODO Auto-generated method stub
String selectedItem = (String) getListAdapter().getItem(position);
String query = "SELECT lat, long FROM hoteltbl WHERE name = '" + selectedItem + "'";
SQLiteDatabase dbs = dbHotelHelper.getReadableDatabase();
Cursor result = dbs.rawQuery(query, null);
result.moveToFirst();
double lat = result.getDouble(result.getColumnIndex("lat"));
double longi = result.getDouble(result.getColumnIndex("long"));
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?f=d&saddr=&daddr="+lat+","+longi));
startActivity(intent);
}
对了,这是my previous question的问题
最佳答案
您不需要扩展 ListActivity。您只需找到 ListView 并调用其 getAdapter() 方法。
这是您更新后的代码。
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
//TODO Auto-generated method stub
ListView lv = (ListView) findViewById(R.id.YOURLISTVIEW);
String selectedItem = (String) lv.getAdapter().getItem(position);
String query = "SELECT lat, long FROM hoteltbl WHERE name = '" + selectedItem + "'";
SQLiteDatabase dbs = dbHotelHelper.getReadableDatabase();
Cursor result = dbs.rawQuery(query, null);
result.moveToFirst();
double lat = result.getDouble(result.getColumnIndex("lat"));
double longi = result.getDouble(result.getColumnIndex("long"));
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?f=d&saddr=&daddr="+lat+","+longi));
startActivity(intent);
}
关于android - 与 getListAdapter Android 有并发症?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286350/