0

我有 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();

谁能帮我弄清楚我在这里做错了什么?

这是房间列表的来源

这是房间概述的来源

提前致谢!

4

2 回答 2

1

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

例子:

Intent i = new Intent(...);
i.putExtras("roomid", "10");
startActivity(i);
于 2013-04-24T09:09:12.893 回答
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

于 2013-04-24T09:09:19.990 回答