android listview와 android Text비교하는 질문 드립니다.

조회수 744회

제가 Wi-Fi SSID, BSSID, RSSI를 불러오는 앱을 만들고있는데

SSID, BSSID, RSSI를 불러와서 리스트뷰에 띄워주는거 까지는 성공을 하였습니다.

그러나 같은 SSID를 하나로 묶어서 리스트를 터치했을때 목록이 생기면서 해당 SSID의 BSSID와 RSSI를 보여주도록 해야합니다.

제가 현재 막힌 부분은 SSID의 Text를 비교하는 부분에서 어려움을 겪고있고,

ListView에서 항목을 터치했을때 해당 리스트의 항목을 보이도록 하는 부분에서 어려움을 겪고있습니다.

알려주시면 감사하겠습니다.!!

아래부분은 Item_layout부분입니다.

<LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="8"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tvSSID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="SSID"
            android:textColor="#000000"
            android:textSize="20dp" />

        <TextView
            android:id="@+id/tvBSSID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="BSSID"
            android:textColor="#000000"
            android:textSize="15dp" />

        <TextView
            android:id="@+id/tvRSSI"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="RSSI"
            android:textColor="#000000"
            android:textSize="15dp" />

    </LinearLayout>

아래 부분은 MainActivity부분 입니다.

SSID비교 라고 해놓은 부분에서 방법을 찾고있습니다.

private BroadcastReceiver receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            final String action = intent.getAction();
            if (action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
                scanDatas = wifiManager.getScanResults();

                //SSID비교
                for (int i =0; i <= 30; i++){
                    String str1 = scanDatas.get(i).SSID;
                    String str2 = scanDatas.get(i).SSID;

                    Log.d("Darin", String.valueOf(str1.equals(str2)));


                }

                // 어댑터뷰(리스트 뷰)
                listView = (ListView) findViewById(R.id.listView);
                // 어댑터
                ArrayAdapter adapter = new WifiAdapter(getApplicationContext(), R.layout.item_layout, scanDatas);
                listView.setAdapter(adapter);

                listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                        Toast.makeText(getApplicationContext(), scanDatas.get(i).SSID, Toast.LENGTH_SHORT).show();
                    }
                });
                // listview 갱신
                adapter.notifyDataSetChanged();

            } else if (action.equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
                sendBroadcast(new Intent("wifi.ON_NETWORK_STATE_CHANGED"));
            }
        }
    };
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)