• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

fragment layout이 시뮬레이터에 안나옵니다

23.02.04 16:18 작성 23.02.04 16:23 수정 조회수 319

0

안녕하세요

프래그먼트 layout이 design탭에선 보이는데 시뮬레이터에선 안나와서요.

activity_main.xml 의 아래 main_nav가 desgin탭에선 보이는데, 시뮬레이터에선 안나옵니다.

 <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="test"/>

        <androidx.fragment.app.FragmentContainerView
            android:id="@+id/fragmentContainerView"
            android:name="androidx.navigation.fragment.NavHostFragment"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="60dp"
            app:defaultNavHost="true"
            app:navGraph="@navigation/main_nav"  />

 

main_nav.xml 에는 homeFragmenet가 홈으로 되어있습니다.
<navigation xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main_nav" app:startDestination="@id/homeFragment"> <fragment android:id="@+id/homeFragment" android:name="com.example.singlelife.fragments.HomeFragment" android:label="fragment_home" tools:layout="@layout/fragment_home" />

 

fragment_home.xml에는 textView하나만 넣어보았는데, 역시 디자인뷰에선 보이는데, 시뮬레이터에서 안나와요;

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">


    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".fragments.HomeFragment">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="beeeeeeeee"
            android:textSize="30sp"/>

    </FrameLayout>
</layout>

시뮬레이터 실행 시 HomeFragment.kt 아래의 토스트와 로그는 잘뜹니다.. 왜 레이아웃만 보이질않을까요;;


class HomeFragment : Fragment() {
    private lateinit var binding : FragmentHomeBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        binding = DataBindingUtil.inflate(inflater,R.layout.fragment_home, container, false)

        Toast.makeText(context, "t", Toast.LENGTH_SHORT).show()
        Log.d("dddddddddddddddd", "TTTTTTTTTTTTTTTTTTT")
        return binding.root
    }

 

 항상 질 좋은 강의 잘 듣고 있습니다. 감사합니다!

 

답변 1

답변을 작성해보세요.

0

안녕하세요

navigation graph 와 스크린샷들을 좀 더 자세히 공유해주시겠어요?