第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

onMarkerClick 內(nèi)的 Firebase 查詢無法正常工作

onMarkerClick 內(nèi)的 Firebase 查詢無法正常工作

吃雞游戲 2023-09-20 16:36:11
我有一個(gè)活動,其中我從 Firebase 數(shù)據(jù)庫獲取數(shù)據(jù)并在地圖上顯示多個(gè)標(biāo)記。在 onMarkerClick 中,我希望用戶轉(zhuǎn)到另一個(gè)活動,其中包含有關(guān)所點(diǎn)擊的標(biāo)記的詳細(xì)信息。第一次點(diǎn)擊標(biāo)記時(shí),它僅顯示標(biāo)題,第二次點(diǎn)擊時(shí),它會在執(zhí)行 Firebase 數(shù)據(jù)庫查詢以獲取該標(biāo)記的 ID 后轉(zhuǎn)到其他活動,以便提供有關(guān)點(diǎn)擊的標(biāo)記的正確詳細(xì)信息。問題是,當(dāng)我第一次點(diǎn)擊任何標(biāo)記時(shí),然后如果我點(diǎn)擊任何其他標(biāo)記,打開的活動將打開首先點(diǎn)擊的標(biāo)記的詳細(xì)信息。如果我點(diǎn)擊同一個(gè)標(biāo)記兩次,效果就很好。但是,當(dāng)我回到地圖活動時(shí),第一次點(diǎn)擊任何標(biāo)記,將打開之前點(diǎn)擊的標(biāo)記的詳細(xì)信息??梢宰鍪裁磥碓?onMarkerClick 內(nèi)執(zhí)行正確的查詢。這是代碼。
查看完整描述

2 回答

?
慕田峪4524236

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊

 @Override

    public boolean onMarkerClick(Marker marker) {


        eventTitle = marker.getTitle();


        q = database.getReference("events")

                .orderByChild("event_title")

                .equalTo(marker.getTitle());


        q.addValueEventListener(vel);


        Intent intent = new Intent(NearbyEventsActivity.this, EventDetailActivity.class);

        Bundle bundle = new Bundle();

        bundle.putString("eventid", eventid);

        intent.putExtras(bundle);

        if (eventid != null) {

            startActivity(intent);

        }


        return false;

    }


    ValueEventListener vel = new ValueEventListener() {

        @Override

        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            for (DataSnapshot snapshot : dataSnapshot.getChildren()) {

                Event e = snapshot.getValue(Event.class);

                eventid = e.getEvent_id();

            }

        }


        @Override

        public void onCancelled(@NonNull DatabaseError databaseError) {

        }

    };


查看完整回答
反對 回復(fù) 2023-09-20
?
小怪獸愛吃肉

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊

問題是,當(dāng)我第一次點(diǎn)擊任何標(biāo)記時(shí),然后如果我點(diǎn)擊任何其他標(biāo)記,打開的活動將打開首先點(diǎn)擊的標(biāo)記的詳細(xì)信息。

Firebase 查詢異步執(zhí)行。您ValueEventListener不會立即接到電話。

在方法內(nèi)使用第二個(gè)活動啟動代碼onDataChange。

  @Override

    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {

            Event e = snapshot.getValue(Event.class);

            eventid = e.getEvent_id();

        }


        Intent intent = new Intent(NearbyEventsActivity.this, EventDetailActivity.class);

        Bundle bundle = new Bundle();

        bundle.putString("eventid", eventid);

        intent.putExtras(bundle);

        if (eventid != null) {

         startActivity(intent);

        }

    }


查看完整回答
反對 回復(fù) 2023-09-20
  • 2 回答
  • 0 關(guān)注
  • 119 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號