Android 如何从 onListItemClick 中获取 ListView ID 并使用它? ListView、通知、SQLite 数据库

Android how to get ListView ID and using it out of onListItemClick? ListView, Notification, SQLite database

我有一个 ListView,它从 SQLite 数据库中填充注释。以下代码的效果是,当用户 select ListView 中的任何项目时,应用程序将访问其中包含数据的 NoteEdit.class。我把这段代码放在这里的原因是为了证明我的数据库创建没问题。

protected void onListItemClick(ListView l, View v, int position, long id) {
            super.onListItemClick(l, v, position, id);
            Intent i = new Intent(this, NoteEdit.class);
            i.putExtra(NoteDbAdapter.KEY_ROWID, id);
            startActivityForResult(i, ACTIVITY_EDIT);
    }

现在我有一个通知,它会将 ListView 中的项目注释粘贴到通知栏。通知和便利贴也很好。但问题是,当我点击通知项目时,它应该将用户带到包含数据的 EditNote.class ,这是通知中的代码:

public boolean onContextItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case STICKY_NOTIFICATION:
        String getTitle = "",
        getBodyText = "";
        AdapterContextMenuInfo notice = (AdapterContextMenuInfo) item
                .getMenuInfo();
        Cursor c = mDbHelper.fetchNote(notice.id);
        if (c.moveToFirst()) {
            do {
                getTitle = c.getString(1);
                getBodyText = c.getString(2);
            } while (c.moveToNext());
        }

        //Intent resultIntent = new Intent(this, NoteEdit.class);
        //resultIntent.putExtra(NoteDbAdapter.KEY_ROWID, ); //This is where the issue is
        //startActivityForResult(resultIntent, ACTIVITY_EDIT);

        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
        stackBuilder.addParentStack(NoteEdit.class);
        stackBuilder.addNextIntent(resultIntent);
        PendingIntent resultPending = stackBuilder.getPendingIntent(0,
                PendingIntent.FLAG_UPDATE_CURRENT);

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                this).setSmallIcon(R.drawable.ic_launcher)
                .setContentTitle(getTitle).setContentText(getBodyText)
                .setContentIntent(resultPending);

        NotificationManager mNotificationManager;
        mNotificationManager = (NotificationManager) this
                .getApplicationContext().getSystemService(
                        Context.NOTIFICATION_SERVICE);
        mNotificationManager.notify(10, mBuilder.build());
        break;

我需要类似 "id" 的东西来定位和放置数据库中的数据,例如 onListItemClick "i.putExtra(NoteDbAdapter.KEY_ROWID, id);" 中的数据。我该如何实施?

intent.putExtra("truck", id)

使用一个 另一个 class 中的 OnHandleIntent 方法并使用传递的意图并使用 .getExtras().getLong("truck") 作为长变量来使用