我有一个列表,其中每个项目都是 sqlite 表中的一行,我试图将他们单击的项目的行 ID 从一个 Activity 传递到下一个 Activity 。 这是我尝试在 Activity A 中设置的方法,
public static final int REQUEST_CODE=0; //variable used when i want to startActivityForResult..
public void ListItemCommonIntent(long id, View view){
Log.i("Blah", "current item pressed is" + id);
Intent keypadIntent = new Intent(view.getContext(), Keypad.class);
keypadIntent.putExtra(Keypad.selectedRowId, id);
startActivityForResult (keypadIntent, REQUEST_CODE);
}
这是我尝试获取 Activity b 中的 id 并将其放入 selectedRowId
public Long selectedRowId;
private String findBudgetQuery = "SELECT BUDGET_AMOUNT FROM CAT_BUD_TAB WHERE _ID='" + selectedRowId + "'";
public void FindBudgetForId(){
//This method should query for current budget and..
SQLiteDatabase db = budgetData.getWritableDatabase();
selectedRowId = getIntent().getLongExtra(selectedRowId, 1);
db.rawQuery(findBudgetQuery, null);
}
但是我无法让它工作,我想我需要更多信息,有人可以解释如何使用 putExtra 并在另一边获取一些东西。我想我不完全理解 Even 方法的参数。
最佳答案
使用额外字段启动 Intent 。
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(mContext, org.gpsagenda.DetailsContainer.class);
intent.putExtra("id", item.ID());
mContext.startActivity(intent);
}
在已启动的 Activity 中获取额外字段。
int id = getIntent().getExtras().getInt("id");
请注意,如果未设置 Extra,您可能会得到 null
!
关于java - 在处理 Intent 时如何使用 putExtra/get_Extra?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452506/