【问题标题】:Have complication with getListAdapter Android?与 getListAdapter Android 有并发症吗?
【发布时间】:2011-11-27 14:46:27
【问题描述】:

我想从 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,你可以简单地使用getListAdapter();在ListView,可以使用your_listview_name.getAdapter()

标签: android sqlite listview listadapter onitemclicklistener


【解决方案1】:

您不需要扩展 ListActivity。您只需要找到列表视图并调用它的 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);

}

【讨论】:

    【解决方案2】:

    您的活动应该扩展 ListActivity 以具有 getListAdapter 方法。 看看this教程。

    如果你想获取项目,你应该使用设置为 ListView 的适配器的 getItem(position) 方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多