Android - 通过活动传递数据库和id

时间:2013-04-24 09:04:48

标签: android database android-activity

我有2个Android活动'

我有房间清单,即房间清单。

另一个房间内容。显示所选房间的所有内容的地方。

我想要的只是房间ID(r_id)通过房间列表类传递到房间概览课程中,我可以从数据库中检索所有内容。

我一直想弄清楚我哪里出错了,我认为它在第94 - 101行附近:

            selectedRoom = (String) ((TextView) view).getText();
            Cursor c2 = sampleDB.rawQuery("SELECT * FROM tbl_roomDesc WHERE roomName =?", new String[] {selectedRoom});

            if (c2 != null ) {
                if  (c2.moveToFirst()) {
                    do {
                        r_id = c2.getString(c2.getColumnIndex("r_id")); 
                    }while (c2.moveToNext());
                }
            }
            c2.close();

任何人都可以帮我弄清楚我在这里做错了吗?

Here is the source for the room list

Here is the source for the room overview

提前致谢!

2 个答案:

答案 0 :(得分:1)

要在Intent之间传递数据,请使用putExtras()方法。

示例:

Intent i = new Intent(...);
i.putExtras("roomid", "10");
startActivity(i);

答案 1 :(得分:0)

     final int roomId = r_id;
     next = (ImageButton) findViewById(R.id.next);
     next.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {

            CreateBuilding.val = "Retrieve";
            sampleDB.close();
            Intent intent2 = new Intent(RoomList.this, TabLayoutActivity.class);
            intent2.putExtra("roomId", roomId);
            setResult(RESULT_OK, intent2);
            finish();
            startActivityForResult(intent2, 0);
        }
    });

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
       if (resultCode == Activity.RESULT_OK) {
          if (data != null) {
            int roomId = data. getIntExtra("roomId", 0);
          }
       }
    }

如果我没有误解你把roomId放在Intent里面并在onActivityResult

内找回它