java在使用Intent时如何使用putExtra/get_Extra?
我有一个列表,其中每个项目都是sqlite表中的一行,我试图将他们单击的项目的行id从一个活动传递到下一个活动。 这是我在活动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);
}
这里是我试图在活动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和得到的东西在另一边。我想我还没有完全理解偶数法的参数
# 1 楼答案
用一个额外的字段开始一个意图
获取已启动活动中的额外字段
不过要小心,如果没有设置额外的设置,你可能会得到
null
# 2 楼答案
putExtra和getExtra的第一个参数应该是一个字符串,用于标识正在传递的信息。例如:
以后可以使用同一个键来获取信息,第二个参数是在找不到该键时使用的默认值: