在我的主要活动中,我有一个数据库项目的列表视图,当我长按列表中的项目时,它会打开一个新活动,允许您编辑单击的项目。
我遇到的问题是我不太确定如何将rowID /主键的信息提供给另一个活动java类,以便我可以开始在该类中操作,例如将初始值设置为当前行信息,然后能够对其应用更新。
这可以帮助你帮助我,这是我必须带我参加我的新活动
dialog.setNegativeButton(R.string.dialogEdit,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
long id = idInDB;
Intent intent = new Intent(MainActivity.this, edit_expense.class);
startActivity(intent);
}
});
答案 0 :(得分:0)
我假设id
是您要传递给其他活动的ID,请使用Intent extras传递它。
intent.putExtra("key", id);
并获取其他活动的值:
Intent intent = getIntent();
long id = intent.getLongExtra("key", -1);
意图参考:https://developer.android.com/reference/android/content/Intent.html
答案 1 :(得分:0)
onClick使用putExtra
发送行idintent.putExtra("rowid", rowid);
在第二个活动中获取onCreate()
中的额外字符串String rowid = getIntent().getExtras().getString("rowid");
答案 2 :(得分:0)
希望您的列表行中包含 ID 的textView
。
因此,当您加载listView
时,每一行都会在textView中添加自己的唯一ID。现在,当您单击/按住任何特定的listItem时,它将触发click事件并将ID检索到String rowID中。现在,您可以使用intent传递此ID。
list.setOnLongClickListener(new AdapterView.OnLongClickListener() {
@Override
public void onLongClick(AdapterView<?> adapterView, View view, int i, long l) {
String rowID =((TextView) view.findViewById(R.id.rowID)).getText().toString();
Intent nextActivity = new Intent();
nextActivity.putExtra("id",rowID);
startActivity();
}