নেভিগেশন উপাদান সহ ফ্রেগমেন্ট কনটেনারভিউ ব্যবহার করছেন?


38

পূর্ববর্তী সংস্করণ থেকে নেভিগেশন 2.2.0-beta01 আপডেট করার পরে , লিন্ট <fragment>ট্যাগটি প্রতিস্থাপনের বিষয়ে একটি সতর্কতা দেয় FragmentContainerView

যাইহোক, একা ট্যাগ প্রতিস্থাপন মনে হচ্ছে নেভিগেশন গ্রাফকে স্ফীত হওয়া থেকে রোধ করবে।

মতে 2.2.0-alpha01 , FragmentContainerViewঅভ্যন্তরীণভাবে ব্যবহৃত হয়। আমাদের কি লিন্টের সতর্কতা উপেক্ষা করা উচিত?


activity_main.xml

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Lint warning: "Replace the <fragment> tag with FragmentContainerView. -->
    <fragment
        android:id="@+id/nav_host_main"
        android:name="androidx.navigation.fragment.NavHostFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:defaultNavHost="true"
        app:navGraph="@navigation/nav_graph_main"/>

    <!-- other elements -->

</androidx.constraintlayout.widget.ConstraintLayout>

3
ব্যবহার করে কী লাভ FragmentContainerView?
ইগোরগানাপলস্কি


@ ইউজেনপ্যাচেনেক যখন আমাদের জেটপ্যাক নেভিগেশন থাকবে তখন কেন আমাদের এটির প্রয়োজন হবে?
ইগোরগানাপলস্কি

@ আইগরগানাপলস্কি ভাল প্রশ্ন, জেটপ্যাক নেভিগেশন টুকরোগুলির মধ্যে চলাচল করছে। অসম্পূর্ণ অংশ ট্রানজিশন (Enter / প্রস্থান অ্যানিমেশন) ভিন্নভাবে আচরণ যখন টুকরা হয় FragmentContainerViewএবং অন্য কোন ধারক লেআউট। পার্থক্যগুলি উপরে লিঙ্ক করা FCV ডকুমেন্টেশনে বর্ণিত হয়েছে। মূলত, FCV আপনার প্রত্যাশা অনুযায়ী রূপান্তরগুলি আরও কাজ করার কথা রয়েছে। বা, জেটপ্যাক নেভিগেশন টুকরাগুলির উপর নির্ভর করে। যদি খণ্ডগুলি নষ্ট হয়ে যায়, আপনি নতুন স্থির ফ্রেমের লাইব্রেরি পাবেন বা নেভিগেশনের নতুন সংস্করণটির জন্য অপেক্ষা করুন যা নতুন স্থির খণ্ডগুলির উপর নির্ভর করে।
ইউজেন পেচানেক

@ ইউজেনপ্যাচেনেক আপনি যা বলছেন তা আমি পেয়েছি। তবে, আমি মনে করি যে বিকাশকারীরা দুটি আলাদা
এপিআই'র সাথে তাল মিলিয়ে চলার উপক্রম

উত্তর:


13

গুরুত্বপূর্ণ! এর বিভিন্ন সংস্করণ নিয়ে জ্ঞাত সমস্যা রয়েছে FragmentContainerView। ব্যবহারের আগে চেঞ্জলগটি দেখুন । বাগ ফিক্সগুলি পড়ুন এবং গ্রন্থাগারের একটি সাম্প্রতিক সংস্করণ ব্যবহার করুন।


আপাতত, আপনার খণ্ড 1.2.0-beta02 এর উপর নির্ভরতাও ঘোষণা করা উচিত কারণ এটি ব্যবহারের ক্ষেত্রে এটির জন্য একটি সমাধান অন্তর্ভুক্ত করে।

implementation "androidx.fragment:fragment:1.2.0-beta02"

সংস্করণ 1.2.0-বিটা02

11 ই অক্টোবর, 2019

বাগ ফিক্স

এমন একটি সমস্যা স্থির করে যেখানে ফ্রেগমেন্টগুলি onInflate()যথাযথ বৈশিষ্ট্যগুলি গ্রহণ করে না FragmentContainerView, যেমন ব্রেকিং কেস NavHostFragment। ( খ / 142421837 )

উত্স: https://developer.android.com/jetpack/androidx/releases/fraament#1.2.0-beta02


6
এই সমাধানটি আমার পক্ষে কার্যকর হয়নি।
গ্রিল্যান্ড

@gend দয়া করে একটি ন্যূনতম প্রকল্প প্রস্তুত করুন যা সমস্যাটি পুনরুত্পাদন করে এবং অফিসিয়াল ইস্যু ট্র্যাকারে এটি রিপোর্ট করুন । ধন্যবাদ!
ইউজেন পেচানেক

11

NavigationBasicSample 2.2.0-alpha01 আপডেট করা হয়েছে কিন্তু এখনও ব্যবহার করছে fragmentট্যাগ। NavigationAdvancedSample ব্যবহার দেখায় FragmentContainerView, কিন্তু এনএভি গ্রাফ কোড (তারা বিভিন্ন গ্রাফ আছে) এবং সংশ্লিষ্ট হোস্ট টুকরা মধ্যে স্ফীত হয় যোগ করা হয় FragmentContainerView। সুতরাং আমি এই সময়ে বলব যদি আমরা স্বয়ংক্রিয় মূল্যস্ফীতি চাই তবে আমাদের এই সতর্কতাটি উপেক্ষা করা উচিত।


আমি নমুনাগুলিতেও এটি লক্ষ্য করেছি। দেখে মনে হচ্ছে সর্বশেষতম Fragmentনির্ভরতা যুক্ত হ'ল লিঙ্ক সতর্কতার যত্ন নেয়।
প্রায়

কেন আমাদের ফ্রেগমেন্ট কনটেনারভিউ দরকার?
ইগোরগানাপলস্কি

আমি অ্যাডভান্সড নমুনায় কোডটি চেক করেছি। এটি আমাকে কেবল বমি করে তোলে! আমি জানি না কেন গুগলে টিমকে এমন উদ্ভট পদ্ধতিতে জিনিসগুলি তৈরি করতে এবং ভাঙ্গতে হয়। এখন আমাকে আজকে এক্সটেনশান ফাংশনটি অনুলিপি করতে হতে পারে তবে এটি আগামীকাল ন্যাভিগেশন লাইব্রেরিতে কিছু আপডেটের সাথে ভেঙে যেতে পারে। এটা শুধু চুষে দেয় !!
Sud007
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.