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には、 メソッドを使用し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 を の中に入れてIntentonActivityResult

于 2013-04-24T09:09:19.990 に答える