cardview 오류 > QnA

본문 바로가기
사이트 내 전체검색

QnA

안드로이드 cardview 오류

페이지 정보

profile_image
작성자 phjin0628
댓글 6건 조회 213회 작성일 21-04-13 10:35

본문

댓글목록

profile_image

phjin0628님의 댓글

phjin0628 작성일

id값을 못가져오는건지 일단 card_view가 Unresolved reference: card_view 이 오류라 선언을 해줘야하는건 알겠는데 다른 분 코드 참조했을 땐 다른 선언이 없긴 하였습니다

https://foxtrotin.tistory.com/248

profile_image

Scott님의 댓글

Scott 작성일

아이디 card_view가 없습니다? 다른데 정의되어 있을까요?
 
  <androidx.cardview.widget.CardView

        *** android:id="@+id/card_view" ***

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        card_view:cardBackgroundColor="#ffffff"
        card_view:cardCornerRadius="20dp"
        card_view:cardElevation="4dp">

profile_image

phjin0628님의 댓글의 댓글

phjin0628 작성일

xml 파일에 card_view가 정의되어있고

그 정의된 card_view를 가져다 썻는데 오류가 뜹니다

profile_image

phjin0628님의 댓글

phjin0628 작성일

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".CarMap" />

    <LinearLayout
        android:id="@+id/card_view"
        android:layout_width="match_parent"
        android:layout_height="220dp"
        android:layout_marginBottom="30dp"
        android:layout_alignParentBottom="true"
        xmlns:card_view="http://schemas.android.com/apk/res-auto">

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            card_view:cardBackgroundColor="#ffffff"
            card_view:cardCornerRadius="20dp"
            card_view:cardElevation="4dp">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="220dp"
                android:layout_marginLeft="8.8dp"
                android:layout_marginBottom="40dp"
                android:orientation="vertical">

                <TextView
                    android:layout_width="375dp"
                    android:layout_height="45dp"
                    android:layout_marginLeft="10dp"
                    android:layout_marginTop="8dp"
                    android:gravity="center|left"
                    android:text="상세 정보"
                    android:textColor="#000000"
                    android:textSize="9pt"
                    android:textStyle="bold" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="25dp"
                    android:orientation="horizontal">

                    <TextView
                        android:layout_width="70dp"
                        android:layout_height="20dp"
                        android:layout_marginLeft="16dp"
                        android:layout_marginTop="5dp"
                        android:text="장소이름:  "
                        android:textColor="#000000"
                        android:textSize="14dp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/name"
                        android:layout_width="290dp"
                        android:layout_height="20dp"
                        android:layout_marginTop="5dp"
                        android:text="갱신 전"
                        android:textSize="14dp"
                        android:textColor="#000000"
                        />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="25dp"
                    android:orientation="horizontal">

                    <TextView
                        android:layout_width="70dp"
                        android:layout_height="20dp"
                        android:layout_marginLeft="16dp"
                        android:layout_marginTop="7dp"
                        android:text="위치:  "
                        android:textColor="#000000"
                        android:textSize="14dp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/description"
                        android:layout_marginTop="7dp"
                        android:layout_width="290dp"
                        android:text="갱신 전"
                        android:textSize="14dp"
                        android:textColor="#000000"
                        android:layout_height="20dp" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="25dp"
                    android:orientation="horizontal">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="20dp"
                        android:layout_marginLeft="16dp"
                        android:layout_marginTop="7dp"
                        android:text="화장실 여부:  "
                        android:textColor="#000000"
                        android:textSize="14dp"
                        android:textStyle="bold"  />

                    <TextView
                        android:id="@+id/toilet"
                        android:layout_marginTop="7dp"
                        android:layout_width="290dp"
                        android:text="갱신 전"
                        android:textSize="14dp"
                        android:textColor="#000000"
                        android:layout_height="20dp" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="25dp"
                    android:orientation="horizontal">

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="20dp"
                        android:layout_marginLeft="16dp"
                        android:layout_marginTop="7dp"
                        android:text="주변 개수대:  "
                        android:textColor="#000000"
                        android:textSize="14dp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/sink"
                        android:layout_marginTop="7dp"
                        android:layout_width="290dp"
                        android:text="갱신 전"
                        android:textSize="14dp"
                        android:textColor="#000000"
                        android:layout_height="20dp" />
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="25dp"
                    android:orientation="horizontal">

                    <TextView
                        android:layout_width="70dp"
                        android:layout_height="20dp"
                        android:layout_marginLeft="16dp"
                        android:layout_marginTop="7dp"
                        android:text="주변 수돗물:  "
                        android:textColor="#000000"
                        android:textSize="14dp"
                        android:textStyle="bold" />

                    <TextView
                        android:id="@+id/tap_water"
                        android:layout_marginTop="7dp"
                        android:layout_width="290dp"
                        android:text="갱신 전"
                        android:textSize="14dp"
                        android:textColor="#000000"
                        android:layout_height="20dp" />
                </LinearLayout>
            </LinearLayout>
        </androidx.cardview.widget.CardView>
    </LinearLayout>

</RelativeLayout>

profile_image

phjin0628님의 댓글

phjin0628 작성일

package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.TextView
import android.widget.Toast
import com.example.myapplication.mapdata.CarMapJson

import com.google.android.gms.maps.CameraUpdateFactory
import com.google.android.gms.maps.GoogleMap
import com.google.android.gms.maps.OnMapReadyCallback
import com.google.android.gms.maps.SupportMapFragment
import com.google.android.gms.maps.model.LatLng
import com.google.android.gms.maps.model.LatLngBounds
import com.google.android.gms.maps.model.Marker
import com.google.android.gms.maps.model.MarkerOptions
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory

class CarMap : AppCompatActivity(), OnMapReadyCallback {

    private lateinit var mMap: GoogleMap

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_car_map)
        val mapFragment = supportFragmentManager
                .findFragmentById(R.id.map) as SupportMapFragment
        mapFragment.getMapAsync(this)
    }


    override fun onMapReady(googleMap: GoogleMap) {
        mMap = googleMap
        loadCar()
    }

    fun loadCar() {
        val retrofit = Retrofit.Builder()
                .baseUrl(CarMapOpen.DOMAIN)
                .addConverterFactory(GsonConverterFactory.create())
                .build()
        val CarOpenService = retrofit.create(CarOpenService::class.java)

        CarOpenService
                .getCar(CarMapOpen.DOMAIN)
                .enqueue(object : Callback<CarMapJson> {
                    override fun onResponse(call: Call<CarMapJson>, response: Response<CarMapJson>) {
                        ShowCar(response.body() as CarMapJson)
                    }
                    override fun onFailure(call: Call<CarMapJson>, t: Throwable) {
                        Toast.makeText(baseContext, "데이터 가져올 수 없음", Toast.LENGTH_LONG).show()
                    }
                })
    }

    fun ShowCar(Cars:CarMapJson){
        val latLngBounds= LatLngBounds.Builder()

        for(car in Cars.ddu){

            val position=LatLng(car.latitude.toDouble(),car.longitude.toDouble()) //position은 위도 경도

            val marker=MarkerOptions()
                    .position(position)
                    .title(car.Name)
            mMap.addMarker(marker)
            latLngBounds.include(marker.position)

        }
        val positionss=LatLng(37.20917443124407, 126.976336711454)
        val cameraUpdate = CameraUpdateFactory.newLatLngZoom(positionss,10.0F)
        mMap.moveCamera(cameraUpdate) //(updated)

        mMap!!.setOnMarkerClickListener(object : GoogleMap.OnMarkerClickListener {
            override fun onMarkerClick(marker: Marker): Boolean {
                card_view.visibility = View.VISIBLE
                var carmapname = findViewById<TextView>(R.id.name)
                var carmapdescription = findViewById<TextView>(R.id.description)
                var carmaptoilet = findViewById<TextView>(R.id.toilet)
                var carmapsink = findViewById<TextView>(R.id.sink)
                var carmaptap_water = findViewById<TextView>(R.id.tap_water)
                var arr = marker.tag.toString().split("/") //마커에 붙인 태그

                carmapname.text = marker.title
                carmapdescription.text = marker.snippet
                carmaptoilet.text = arr[0]
                carmapsink.text = arr[1]
                carmaptap_water.text = arr[2]
                return false
            }
        })
        mMap!!.setOnMapClickListener(object : GoogleMap.OnMapClickListener {
            override fun onMapClick(latLng: LatLng) {
                card_view.visibility = View.GONE
            }
        })
    }
}

profile_image

Scott님의 댓글

Scott 작성일

코틀린 익스텐션이 안보이는 군요
아래 링크를 참조해 주세요

https://flow9.net/bbs/board.php?bo_table=thisisandroid&wr_id=78

Sync Now 하신다음에 코드에서 빨간색으로 나타나는 위젯아이디를 클릭하고 Alt + Enter를 클릭해서 익스텐션을 import 하면 됩니다

회원로그인

회원가입

Site info.

Team Flow9
Address : 10, Gukjegeumyung-ro, Yeongdeungpo-gu, Seoul, Republic of Korea
Contact : flow9.net@gmail.com

접속자집계

오늘
164
어제
346
최대
549
전체
102,753
Copyright © flow9.net All rights reserved.