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

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

Android:動(dòng)態(tài)顯示數(shù)據(jù)到我的微調(diào)器

Android:動(dòng)態(tài)顯示數(shù)據(jù)到我的微調(diào)器

紅糖糍粑 2023-09-20 16:28:09
我目前陷入了如何動(dòng)態(tài)地向微調(diào)器顯示數(shù)據(jù)的困境。我正在使用 websocket 接收數(shù)據(jù)并在我的 UI 線程上運(yùn)行它,我的問(wèn)題是我的微調(diào)器中沒(méi)有顯示數(shù)據(jù)列表。
查看完整描述

1 回答

?
GCT1015

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

您應(yīng)該創(chuàng)建一個(gè)ArrayList如下所示的。


ArrayList<String> spinnerArray = new ArrayList<String>();

Spinner 與 Spinner 相關(guān)聯(lián)Adapter view,因此要在 Spinner 中填充數(shù)據(jù),您需要使用adapter. Anadapter是UI組件和數(shù)據(jù)源之間的橋梁,幫助我們向UI組件填充數(shù)據(jù)。


只需您可以像下面一樣使用ArrayAdapter(要使用自定義適配器,請(qǐng)參閱此)


ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>

        (this, android.R.layout.simple_spinner_item,

       spinnerArray);

之后,您必須將您的設(shè)置設(shè)置adapter為spinner如下所示。


spin.setAdapter(spinnerArrayAdapter); 

示例:您的代碼應(yīng)如下所示。


ArrayList<String> spinnerArray;

ArrayAdapter<String> spinnerArrayAdapter

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.popup);


    WayPointData = new SubscribedData<>();

    final Type WayPointType = new TypeToken<SubscribedData<WayPoint>>() {

    }.getType();



    // spinner element

    spin = (Spinner) findViewById(R.id.spinner);

    spinnerArray = new ArrayList<String>();

    spinnerArrayAdapter = new ArrayAdapter<String>

            (this, android.R.layout.simple_spinner_item,

           spinnerArray);

    spin.setAdapter(spinnerArrayAdapter);


    rosbridge = new RosbridgeListener("ws://10.24.204.231:9090");

    rosbridge.setOnDataReceivedListener(new RosbridgeMessageListener() {


        /**

         * a running thread that when the connection is made the data of the topic will serialize and deserialized java objects

         * to (and from) JSON.

         * @param msg

         */

        @Override

        public void onDataReceived(final String msg) {

            try {

                runOnUiThread(  new Runnable() {

                    @Override

                    public void run() {

                        try {

                            WayPointData = new Gson().fromJson(msg,WayPointType);

                            // modify below lines like

                            JSONObject mainObject = new JSONObject(msg); // add msg in JSONObject parameter

                            JSONObject msgObject = mainObject.getJSONObject("msg"); // get msgObject from main object

                            JSONArray wayPointJsonArray = msgObject.getJSONArray("waypoints"); // get wayPointJsonAarry from msg object

                            for (int i = 0; i < wayPointJsonArray.length(); i++) {

                                JSONObject wayPointJsonObject = wayPointJsonArray.getJSONObject(i);

                                // Parse name

                                String name = wayPointJsonObject.getString("name");

                                WayPoint wayPoint = new WayPoint();

                                wayPoint.name = name;

                                

                               // here you have to add name to your spinner array

                               spinnerArray.add(name)

                            }

                           // After all your data added to arraylist you should notify adapter that data set changed

                           spinnerArrayAdapter.notifyDataSetChanged();

                        } catch (Exception e) {

                            e.printStackTrace();

                        }


                    }

                });


                /** a msg that will display once the data is received **/

                Log.d("B9T", String.format("Received data: %s", msg));

            } catch (Exception e) {

                e.printStackTrace();

            }


        }

    });



    spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {


        @Override

        public void onItemSelected(AdapterView<?> parent, View view, int p, long id) {

            WayPoint wayPoint = (WayPoint) parent.getItemAtPosition(p);

        }


        @Override

        public void onNothingSelected(AdapterView<?> parent) {

        }

    });


    /** a set of the waypoints popup window **/

    DisplayMetrics dm = new DisplayMetrics();

    getWindowManager().getDefaultDisplay().getMetrics(dm);


    int width = dm.widthPixels;

    int height = dm.heightPixels;


    getWindow().setLayout((int) (width * .6), (int) (height * .6));



  }

}



查看完整回答
反對(duì) 回復(fù) 2023-09-20
  • 1 回答
  • 0 關(guān)注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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