java - 在处理 Intent 时如何使用 putExtra/get_Extra?

标签 java android parameters android-intent

我有一个列表,其中每个项目都是 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/

相关文章:

java - 与 JDO 和 GAE 的多对一关系

java sunspots 没有可用的串口(ttyACM0)

Android:组件的 IntentFilters

android - 使用面部检测 API 在 Nose 底部绘制文本

powershell - 如何在参数化函数中使用喷溅?

java - 确认对话框不起作用

java - 我正在为我的类(class)使用 java 在 JGrasp 中制作一个神奇的 8 球。我如何让我的代码运行?我不知道我的错误是什么或如何解决?

android - 在 Android 上通过 Intent 启动华为花瓣 map 方向

javascript - 如何从Ajax返回字符串中解析参数

c++ - 这个 vector 类中的这个参数是什么?