我正在尝试为下一个活动发送一些额外内容,但它根本不起作用,我不明白为什么。我正在使用覆盖填充地图,单击时我尝试将覆盖项的 ID 发送到新活动,我得到 CursorIndexOutOfBounds。
public static String ROW_ID = "row_id"; // Intent extra key
protected boolean onTap(int index) {
// TODO Auto-generated method stub
// return super.onTap(index);
ROW_ID = overlayItemList.get(index).getTitle();
Intent intent = new Intent(context, ViewContactFromMap.class);
intent.putExtra("ROW_ID", overlayItemList.get(index).getTitle());
Log.e("putExtra", "ROW_ID is " + ROW_ID);
context.startActivity(intent);
return true;
}
这里 Log.e 输出被点击的项目的 id。例 29。
但在我的下一个活动中,我尝试打开 Log.e,但它显示的值为 0,这就是我得到 CursorIndexOutOfBounds 的原因。但是为什么它没有获得 29 的值呢?
// get the selected contact's row ID
Bundle extras = getIntent().getExtras();
rowID = extras.getLong(MyOverlays.ROW_ID);
Log.e("ViewContactFromMap", "rowID is: " + rowID);
即使我硬编码并将 ROW_ID 设置为 29,在下一个活动中我仍然会得到 0 的值
在我从下面这些人那里得到帮助之后,我得到了它:
ROW_ID = overlayItemList.get(index).getTitle();
Intent intent = new Intent(context, ViewContactFromMap.class);
intent.putExtra("ROW_ID", overlayItemList.get(index).getTitle());
Log.e("putExtra", "ROW_ID is " + ROW_ID);
context.startActivity(intent);
// get the selected contact's row ID
Bundle extras = getIntent().getExtras();
rowIDs = extras.getString("ROW_ID");
rowID = Long.parseLong(rowIDs);
Log.e("ViewContactFromMap", "rowID is: " + rowID);