শ্রেণি খণ্ডকে স্ফীত করতে ত্রুটি


161

আমি ত্রুটি পেয়েছি

Unable to start activity ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment

যখন আমি প্রতিকৃতি এবং ল্যান্ডস্কেপ মোডের মাধ্যমে স্যুইচ করি। আমি টুকরা ব্যবহার করছি। আমার এক্সএমএলটি হ'ল:

 <LinearLayout android:id="@+id/mainLayout"
               android:orientation="horizontal"
               android:layout_width="fill_parent"
               android:layout_height="wrap_content" >

    <ListView android:id="@+id/android:list"
              android:layout_height="wrap_content"
              android:layout_width="fill_parent"/> 

    <fragment android:id="@+id/fragmentDetails"
              android:layout_height="fill_parent"
              android:layout_width="fill_parent"
              class="de.androidbuch.activiti.task.TaskDetailsFragment"/> 
</LinearLayout>

যদি আমি ল্যান্ডস্কেপ এবং প্রতিকৃতি মোডের মাধ্যমে স্যুইচ করি তবে সবকিছু ঠিকঠাক কাজ করে। তবে যখন আমি আমার খণ্ডটিতে ক্লিক করি (এবং আমি আমার খণ্ডটি দেখতে পাচ্ছি) এবং তারপরে অন্য মোডে স্যুইচ করি তখন ত্রুটিটি পাই। কোন ধারণা আমি কীভাবে এটি সমাধান করতে পারি? এখানে কিছু উত্তর পাওয়া গেছে তবে এর মধ্যে কেউই আমাকে সাহায্য করেনি ...

06-21 14:55:05.600: ERROR/AndroidRuntime(7636): FATAL EXCEPTION: main
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): java.lang.RuntimeException: Unable to start activity         
ComponentInfo{de.androidbuch.activiti/de.androidbuch.activiti.task.Activity}:   android.view.InflateException: Binary XML file line #11: Error inflating class fragment
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3097)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.access$1600(ActivityThread.java:123)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:997)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.os.Looper.loop(Looper.java:126)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.main(ActivityThread.java:3998)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at java.lang.reflect.Method.invokeNative(Native Method)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at java.lang.reflect.Method.invoke(Method.java:491)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at dalvik.system.NativeStart.main(Native Method)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:688)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:724)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:727)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:391)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.view.LayoutInflater.inflate(LayoutInflater.java:347)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:227)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.Activity.setContentView(Activity.java:1771)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at de.androidbuch.activiti.task.TaskActivity.onCreate(TaskActivity.java:83)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
06-21 14:55:05.600: ERROR/AndroidRuntime(7636):     ... 12 more

আপনি কি আপনার লেআউট এবং লেআউট-ল্যান্ড ফোল্ডারগুলিতে পৃথক বিন্যাস ফাইল রাখছেন?
নাথান ফিগার

"ক্রিয়াকলাপ শুরু করতে অক্ষম ..." এর পরে লাইনগুলি সহ আপনি কি পুরো ত্রুটি লগ সরবরাহ করতে পারেন
ডেভ

@ নাথান চিত্র: হ্যাঁ আমি করি .. তবে ত্রুটিগুলি
পেয়েছি

@ ডেভ: আপনি এখানে যান .. কোন ধারণা?
tync

ল্যান্ডস্কেপ লেআউট কোডের প্রয়োজন, এবং সেটকন্টেন্টভিউতে আপনার কলগুলি এবং আপনি কীভাবে ধরে নিচ্ছেন যে আপনি প্রতিকৃতি মোডে কীভাবে কার্যকলাপ বন্ধ করছেন, তাও সহায়ক। এই মুহুর্তে যথেষ্ট তথ্য বলে মনে হচ্ছে না। এপিআই ডেমোগুলিতে ফ্রেগমেন্টলয়আউট উদাহরণটি সন্ধান করা আপনাকে সহায়তা করতে পারে কারণ মনে হচ্ছে আপনি অনুরূপ কিছু করছেন।
পিজেএল

উত্তর:


131

যেমন hdemirchian বলেছেন, ব্যবহার নিশ্চিত করুন:

import android.support.v4.app.Fragment;

এবং এটিও নিশ্চিত করুন যে টুকরাটি ব্যবহার করে এমন কার্যকলাপটি FragmentActivityনিয়মিত পরিবর্তে প্রসারিত হয় Activity,

import android.support.v4.app.FragmentActivity;

FragmentActivityক্লাস পেতে ।


12
এটি প্রচুর পরিমাণে উজ্জীবিত হয়েছে, তবে অ্যাপটি পুনরায় চালু করার সময় আমার কাছে এটি ক্র্যাশ হয়ে গেছে এবং আমি আরও সুনির্দিষ্ট অ্যাপকম্প্যাটঅ্যাক্টিভিটি হওয়ার জন্য ইতিমধ্যে v4 ফ্রেগমেন্ট এবং v4 FrsamentActivity ব্যবহার করছি।
জোসেফ

4
এটি কোনও সমাধান নয়। আমদানি android.support.v4.app.Fraament; কিছুই পরিবর্তন করে না। আসলে এটি এমনকি অব্যবহৃত এবং অপ্রয়োজনীয় আমদানি।
f470071

7
ধন্যবাদ, একটি পার্শ্ব নোট হ'ল অ্যাপকম্প্যাটঅ্যাক্টিভিটি হ'ল ফ্র্যাগমেন্টএটিভিটির বংশধর।
আবেদফার


96

ফোন করার আগে android.view.InflateException: Binary XML file line: #... Error inflating class fragmentআপনি যদি getActivity()নিজের খণ্ডের ভিতরে হেরফের করেন তবে ব্যতিক্রম ঘটতে পারে onActivityCreated()। এই ক্ষেত্রে আপনি একটি ভুল ক্রিয়াকলাপের রেফারেন্স পান এবং এটির উপর নির্ভর করতে পারবেন না।

উদাহরণস্বরূপ পরবর্তী প্যাটার্নটি ভুল:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
{
    final View view = inflater.inflate(R.layout..., container, false);

    Button button = getActivity().findViewById(R.id...);
    button.setOnClickListener(...); - another problem: button is null

    return view;
}

সঠিক প্যাটার্ন # 1

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
{
    final View view = inflater.inflate(R.layout..., container, false);

    Button button = view.findViewById(R.id...);
    button.setOnClickListener(...);

    return view;
}

সঠিক প্যাটার্ন # 2

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    Button button = getActivity().findViewById(R.id...);
    button.setOnClickListener(...);
}

@ ম্যাক্সিমকোরোবভ আপনি getActivity()ভিতরে onActivityCreated()বা পরবর্তী কোনও জীবনচক্র পদ্ধতিতে কল করতে পারেন , তবে আগে onDestroyView()
গ্রিগরি এ।

অনেক ধন্যবাদ, এটি প্রচুর সাহায্য করেছে!
শটগান নিনজা

ধন্যবাদ :-) এটি আমাকে অনেক সময় বাঁচিয়েছে :)
ব্যবহারকারীর 1007522

আমি এটি সম্পর্কে আরও জানতে চাই, আমি একটি বিক্ষিপ্ত ক্রাশ পাচ্ছি এবং আমি মনে করি এটিই সমস্যা হতে পারে। যদিও বেশিরভাগ সময় কোডটি সূক্ষ্মভাবে কাজ করে তাই এটি জানা শক্ত
ড্যানিয়েল উইলসন

প্যাটার্ন 2 এটি আমার জন্য সমাধান করতে পারে। আঙ্গুলগুলি পার হয়ে গেল। তার জন্য ধন্যবাদ.
জোসেফ

53

36

আমারও ত্রুটি ছিল আমি সারা দিন খনন করছিলাম, হাহাকার তবে আমি মনে করি এই সমস্যাটির জন্য আমি 25 ডলার সমাধান চেষ্টা করেছি। 2 টা অবধি কেউ কাজ করেনি আমি জানতে পারলাম অ্যাপস ম্যানিফেস্ট xML এ আমি এই লাইনটি মিস করছি:

<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

সেই লাইনটি <application>ট্যাগের ভিতরে ছিল । আমি সত্যিই আশা করি এটি কারওর জন্য সহায়তা করে। জি এল।


3
আমার নায়ক. আপনার মত লোকেরাও তাই মহান!
ক্যাপড্রাগন

5
দয়া করে কী চলছে তা ব্যাখ্যা করুন। এই লাইনের সুবিধা কী?
মনসুর ফাহাদ

2
ধন্যবাদ, আমার দিন বাঁচাও অ্যান্ড্রয়েডে গুগল ম্যাপ ব্যবহারের প্রতিটি নমুনা আলাদাভাবে কাজ করে, আমি আশ্চর্য হয়েছি যে কোনও মান আছে কিনা।
ব্যবহারকারী 2812866

22

আমারও একই সমস্যা ছিল। আমার জন্য সমাধানটি ছিল ফ্র্যাগমেন্টএকটিভিটির মধ্যে সুপার.অনক্রিট এবং সেট কনটেন্টভিউয়ের ক্রম

নিম্নলিখিত আদেশ জরিমানা কাজ করে:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.fc_activity_list_profiles);

3
কেন এটি এটি ঠিক করে?
স্পেন্সার

1
একটি জাভা পদ্ধতিতে, পদ্ধতির superশুরুতে সর্বদা ডাকতে হবে।
স্টাফেন ব্রুকার্ট

11
@ স্টাফেনব্রাকার্ট সবসময় এমন নয় যে super.method()প্রথমে বলা উচিত। এটি সুপার ক্লাসের পদ্ধতিটি কী করে তার উপর নির্ভর করে। FragmentActivityএটির ক্ষেত্রে setContentViewসঠিকভাবে কাজ করার জন্য কিছু সূচনা প্রয়োজন । তবে অন্য পদ্ধতিতে (বলুন onKeyUp) আপনি শর্তসাপেক্ষে ক্রিয়াটি নিয়ে কিছু কাজ করতে চাইতে পারেন তবে ফলব্যাক super.onKeyUpযার ক্ষেত্রে আপনি খুব সম্ভবত super.onKeyUpফাংশনের একেবারে শেষে কল করতে চান ।
কোটেডমুস

এটি সম্ভবত লক্ষনীয় যে super()(সুপারক্লাসের কনস্ট্রাক্টর) যে কোনও শিশু শ্রেণীর নির্মাতাকে প্রথম ফাংশন বলা উচিত, তবে এটি বাধ্যতামূলক নয় (এটি পুরোপুরি শ্রেণীর সম্প্রসারিত হওয়ার উপর নির্ভর করবে) calling
কোয়েটেডমুজ

17

খণ্ডগুলি XML এ বাসা বাঁধতে পারে না

এই কঠিন উপায়ে শিখেছি - যদি আপনি <fragment>কোনও (সম্ভাব্য) গতিশীলভাবে লোড হওয়া খণ্ডের মধ্যে থেকে কোনও এক্সএমএল লেআউট ভিত্তিক ট্যাগটি নীড় থেকে নেন FragmentManager, তবে আপনি আপনার খণ্ডের এক্সএমএল স্ফীত করার চেষ্টা করে অদ্ভুত ত্রুটি পেতে শুরু করেন।

দেখা যাচ্ছে, এটি সমর্থিত নয় - আপনি যদি নিখুঁতভাবে FragmentManagerপদ্ধতির মাধ্যমে এটি করেন তবে এটি কার্যকর হবে।

আমি এই সমস্যাটি পাচ্ছিলাম কারণ আমি <DrawerLayout>এক্সএমএল থেকে কোনওটির ভিতরে একটি টুকরো লোড করার চেষ্টা করছিলাম এবং onCreateView()যখন আমি পিছনের স্ট্যাকটি পপ করলাম তখন পদ্ধতিতে ক্রাশ ঘটেছিল ।


এটি কি এখনও সমর্থিত নয়? হিসাবেappcompat-v7:23.3.0
thanassis

হ্যাঁ আমি এক্সএমএল এর ভিতরে টুকরো টুকরো করছি। আমি এটি খতিয়ে দেখব।
কেদেওগারকর

কিন্তু অস্তিত্ব আছে সমস্যার জন্য সমাধান / হ্যাক stackoverflow.com/a/14695397/860488
Morten Holmgaard

2
নিশ্চিতকরণের জন্য এই বিভাগের শেষে নোটটি দেখুন: developer.android.com/about/versions/…
ফিলিপ

সমাধান এত সহজ কেন তা নিশ্চিত নন। আমার জন্য, কেবল কাজের সাথে প্রতিস্থাপন <fragment>করা <frameLayout>। আমি এখনও এটি সন্ধান করছি। - স্ট্যাকওভারফ্লো.com
yoad W

16

আপনি যেভাবে মুখোমুখি হচ্ছেন আমারও তেমন সমস্যা ছিল। উপরের টিপসের কোনওটিই আমাকে সাহায্য করে না। পরে, আমি দেখতে পেয়েছি যে আমাকে যা করতে হয়েছিল তা হ'ল আমার আমদানি ঠিক করা:

import android.app.Fragment;

প্রতি:

import android.support.v4.app.Fragment;

ধন্যবাদ, এই সমাধানটি আমার পক্ষেও কাজ করেছিল। আমি এই সমস্যাটি নিয়ে 2 দিন ধরে লড়াই করে যাচ্ছিলাম। অবশেষে আপনার সমাধান me.Thanks জন্য কাজ hdemirchian ..
Lakshmanan

তুমি দারুন! আমার সমস্যাটি বিপরীত ছিল - ফ্রেগমেন্ট উইজার্ডটি android.support.v4.app.Fragment ডিফল্টরূপে আমদানি করে। এবং আমার মূল কার্যকলাপটি android.app.Activity প্রসারিত করে।
ইন্ডাস্ট্রিয়াল কন্ট্রোল ফ্রিক

12

আপনি চেষ্টা করেছেন:

 <fragment
            android:name="de.androidbuch.activiti.task.TaskDetailsFragment"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

1
আপনি আমাদের 1 এক্সএমএল ফাইল দেখিয়েছেন, তবে আপনার / লেআউটে 2 জন এবং একটি লেআউট-ল্যান্ডে থাকা উচিত
ব্লুন্ডেল

12

খণ্ডটির অনক্রিটভিউ পদ্ধতিতে কোনও ব্যতিক্রম না রয়েছে তা নিশ্চিত করুন। যদি এই পদ্ধতিতে কোনও ব্যতিক্রম উত্থাপিত হয় তবে লগক্যাট ব্যতিক্রমের সঠিক বিবরণ প্রদর্শন করবে না, পরিবর্তে এটি সর্বদা বার্তাটি দেখায়:

Caused by: java.lang.ClassNotFoundException: Didn't find class "android.view.fragment" 
on path: DexPathList[[zip file "/data/app/com.package/base.apk"],
nativeLibraryDirectories=[/data/app/com.package/lib/arm64, /vendor/lib64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

লেই যা বলছে তা যুক্ত করার জন্য, আপনার অনক্রিভিউর ভিউয়ের ভিতরে কোডের আশেপাশে চেষ্টা করুন এবং আসল মূল কারণটি সন্ধান করুন। ধন্যবাদ লেই!
স্বরূপ

6

আপনার TaskDetailsFragmentপ্রসারিত হলে android.app.Fragment, পরিবর্তন করুন onCreateView()

আপনার ফিরতি দৃশ্য যা আপনি অসম্পূর্ণ অংশ দেখানোর জন্য চান অথবা ব্যবহার করে দৃশ্যে আপনার লেআউট রূপান্তর LayoutInflater এবং এটি ফিরে।

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View mainview = inflater.inflate(R.layout.main, null);
    return mainview;
}

আশা করি এটি কাজ করে। :)


6

আপনার শ্রেণীর পাথটি পরীক্ষা করুন, এটি হতে পারে আপনার এক্সএমএল শ্রেণি = "ডি.অ্যান্ড্রয়েডবুচ.অ্যাকটিটি.টাস্ক.টাস্কডেটেলস ফ্রেমমেন্ট" এর সংজ্ঞা অনুসারে আপনার শ্রেনীর সংজ্ঞাটি খুঁজে পাওয়া যায়নি la উপরের পাথটি ভুল হতে পারে।


6

আমি বিভিন্ন কারণে এই ত্রুটিটি পাচ্ছিলাম।

ধাপ পুনর্গঠন কর:

Issue> আমার সমস্যাটি হ'ল আমি একটি একেবারে নতুন ফাঁকা অ্যাপ্লিকেশন তৈরি করেছি।

।> তারপরে আমি ফাইলটি custom> নতুন ফাইল মেনু থেকে একটি কাস্টম খণ্ড তৈরি করেছি।

~> লেআউট এবং বোতাম ইত্যাদি যোগ করে খণ্ডটি কাস্টমাইজ করতে এগিয়ে গেছে

।> অ্যাপ্লিকেশনটি তৈরি করার সময় আমার জন্য উত্পাদিত অটো উত্পাদিত কার্যকলাপ_my.xML এ নতুন কাস্টম টুকরোটি উল্লেখ করেছে। এটি করার ফলে এক্সএমএলটি আমার জন্য অবজেক্ট তৈরি করতে সক্ষম হয়েছিল।

ফাইল via> নতুন ফাইল মেনু এর মাধ্যমে কাস্টম টুকরা তৈরি করার সময় হেরিস হ'ল এটি স্বয়ংক্রিয়ভাবে একটি ইন্টারফেস ফাংশন স্টাব তৈরি করে এবং খণ্ড শ্রেণীর ফাইলের নীচে রাখে।

এর অর্থ হল যে আপনার মাইঅ্যাক্টিভিটি ক্লাসকে অবশ্যই এই ইন্টারফেসটি প্রয়োগ করতে হবে। যদি এটি না হয় তবে উপরের ত্রুটিটি কেবলমাত্র এক্সএমএল থেকে খণ্ডকে উল্লেখ করার সময় ঘটে। এক্সএমএলে সম্পূর্ণভাবে ফ্রেগমেন্টের জন্য রেফারেন্সটি সরিয়ে, এবং মাইএকটিভিটি.জভা ক্লাস ফাইলটিতে কোডের মাধ্যমে টুকরো তৈরি করে লগক্যাট সমস্যাটি বিস্তারিতভাবে ব্যাখ্যা করার এবং ইন্টারফেস সম্পর্কে অভিযোগ করার জন্য আরও সংক্ষিপ্ত ত্রুটি তৈরি করে। এটি প্রকল্প টেম্পলেট ক্রিয়াকলাপ + খণ্ডে প্রদর্শিত হয়। যদিও, <~ প্রকল্প টেম্পলেট ইন্টারফেস স্টাব তৈরি করে না।


5

আমার জন্য এটি স্ট্যাক ট্রেসে স্ক্রোল করার পরে আমি দেখতে পেলাম যে আমি android.permission- এর অনুমতি অনুপস্থিত A

এই অনুমতি যুক্ত করার পরে এটি ঠিক করা হয়েছিল


1
না স্ব: "মাধ্যমে স্ক্রোল করুন সমগ্র । স্ট্যাক ট্রেস আপনি @Gil ধন্যবাদ।
Batandwa

4

আপনার যদি প্রতিকৃতি এবং ল্যান্ডস্কেপ মোডগুলির জন্য পৃথক বিন্যাসের ফাইল থাকে এবং যখনই আপনি কোনও আইটেম ক্লিক করার পরে ওরিয়েন্টেশন পরিবর্তন করেন তখন মুদ্রাস্ফীতি ত্রুটি পেয়ে থাকেন তবে আপনার লেআউট ফাইলগুলির মধ্যে খুব সম্ভবত একটি তাত্পর্য রয়েছে।

আপনি যখন ত্রুটিটি পান, কেবল তখনই আপনি যখন ল্যান্ডস্কেপ মোডে আইটেমটি ক্লিক করেন বা কেবল প্রতিকৃতি মোডে বা উভয়ই? আপনার টাস্কডিটেলস ফ্রেমমেন্ট ক্রিয়াকলাপটি এমন একটি বিন্যাস ফাইল ব্যবহার করে যা ল্যান্ডস্কেপ এবং প্রতিকৃতি মোডের মধ্যে তফাত থাকতে পারে?


আপনার উত্তরের জন্য ধন্যবাদ .. ঠিক আছে আমার কাছে কেবল ল্যান্ডস্কেপ মোডে একটি টুকরা আছে এবং প্রতিকৃতি মোডে নেই। সুতরাং খণ্ডটি দেখতে আমি কেবল ল্যান্ডস্কেপ মোডে ক্লিক করতে পারি। এবং আমি আবার ল্যান্ডস্কেপ মোডে স্যুইচ করার পরে আমি এই ত্রুটিটি
পেয়েছি

এটি প্রায় অবশ্যই সমস্যা- আপনার প্রতিকৃতি মোডে এমন একটি দৃশ্য রয়েছে যা ল্যান্ডস্কেপ মোডে পাওয়া যায় না। আড়াআড়ি টুকরা যোগ সমস্যা সমাধান করে?
নাথান চিত্র

1
আপনার মতামত থাকতে পারে যা উভয় ফাইলে বিদ্যমান নেই - এটি পৃথক -ল্যান্ড এবং -বন্দর লেআউট থাকার পুরো বিষয়টি। তবে, আইডিগুলি দেখুন - আমার প্রতিকৃতি ফাইলে আইডিটি অনুপস্থিত ছিল এবং স্যুইচ করার সময় এই ত্রুটিটি পাচ্ছিলাম।
ম্যাক্সপলন

4

আপনি যদি Fragmentস্ট্যাটিকালি যোগ করছেন তবে এটি এক্সএমএল, তবে আপনি সম্ভবত OnFragmentInteractionListenerআপনার Activityক্লাসে প্রয়োগ করতে মিস করেছেন । তারপরে ইন্টারফেস বাস্তবায়ন সমস্যার সমাধান করবে। আপনি যদি Fragmentগতিশীলভাবে যোগ করছেন , যা জাভা ক্লাসে থাকে তবে এটি সমাধান নয়। কারণ আইডিই নিজেই আপনাকে প্রয়োজনীয় ইন্টারফেস প্রয়োগ না করে অগ্রসর হতে দেয় না।


3

এই ক্ষেত্রে আমার সমস্যাটি ছিল আমার এক পদ্ধতিতে মূক নাল পয়েন্টার ব্যতিক্রমের একটি সহজ উদাহরণ যা পরবর্তীকালে জীবনচক্রের দিকে আহ্বান করা হয়েছিল। এটি আমার জন্য "ক্লাস টুকরা টুকরো টানা" ব্যতিক্রম ঘটায়। সংক্ষেপে, একটি সম্ভাব্য কারণে ব্যতিক্রম স্ট্যাক ট্রেস আরও নিচে পরীক্ষা করে মনে রাখবেন।

আমি নাল পয়েন্টার ব্যতিক্রমটি সমাধান করার পরে, আমার খণ্ডটি সূক্ষ্মভাবে লোড হয়েছে।


3

উপরে উল্লিখিত সমাধানগুলির কোনওটিই আমাকে সহায়তা করেনি। লগটিতে আমি নীচে বর্ণিত ব্যতিক্রমের বিশদটি জানতে পারি:

06-19 16:20:37.885: E/AndroidRuntime(23973): Caused by: java.lang.RuntimeException: API key not found.  Check that /meta-data/ android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/ is in the application element of AndroidManifest.xml.

আমি এটি করেছি এবং আমার কোড কাজ করছিল!

<meta-data  android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyCl1yGPZ3mpxxxxxxxAz2R-t7zcWVzrHUL9k"/>
</application>

3

আপনি যদি কিছু পরিবর্তন করতে না চান এবং " টুকরো টুকরো " দিয়ে যান " ট্যাগটি

এটা কর,

<fragment
 android:visibility="gone" (Visibility will not work, just helps in removing frag from xml viewer)(If you want the visibility to be gone make it in your fragment root element visibility=gone)
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:name="com.example.YOUR_FRAGMENT" (This is important)
 />

2

একই ত্রুটির ধরণ ছিল, যেখানে লগক্যাটটিতে ঠিক একই ত্রুটি বার্তা প্রদর্শিত হয়েছিল। আমার জাভা বিল্ড পাথের নীচে অবস্থিত পরিবর্তন করা দরকার Project->Properties। আমি গুগল ম্যাপ সম্পর্কিত লাইব্রেরি android-support-v4.jarএবং এর মতো অন্তর্ভুক্ত করেছি google-play-services.jar; তবে আমি এই সহ অনুপস্থিত ছিল 'Build class path'মধ্যে 'Order and Export'বিকল্প মেনু। সম্ভবত ত্রুটি এখানেই রয়েছে।

বিল্ড ক্লাসের পথে লাইব্রেরিগুলি অন্তর্ভুক্ত করার চেষ্টা করুন।

ক্লাসগুলি যে ক্রমগুলি তৈরি করা হয়েছে সেগুলি ত্রুটিও ট্রিগার করতে পারে, তাই আমার পরামর্শটি হল বিল্ডিং পাথের ক্রমটি পুনরায় সাজানোর চেষ্টা করা। ত্রুটি অদৃশ্য যখন আমি নিম্নলিখিত ক্রমে ব্যবহৃত: 'my_project_name/src'->'my_project_name/gen'->'Android Private Libraries'। শেষ ইউনিটে পূর্বে উল্লিখিত জার ফাইল রয়েছে।


1

আপনার এক্সএমএল ফাইলে কেবল ট্যাগের পরিবর্তে একটি ব্যবহার করুন। ইনফ্ল্যাটারটি একটি অ্যান্ড্রয়েড.এপ.ফ্রেগমেন্ট তৈরি করার চেষ্টা করে যা থেকে <i> <10 এ ব্যর্থ হবে So সুতরাং আপনাকে আলাদা ধরণের একটি ভিউ গ্রুপ তৈরি করতে হবে।


1

তালিকাফ্র্যাগমেন্টটি ব্যবহার করার সময় আমি এই ত্রুটিটি পেয়েছি তবে তালিকার ভিডি আইডি তালিকার পরিবর্তে তালিকাভিউ 1 ছিল।

'আপনার সামগ্রীতে অবশ্যই একটি তালিকাভিউ থাকতে হবে যার আইডি বৈশিষ্ট্যটি' অ্যান্ড্রয়েড.আর.আইড.লিস্ট ''

http://developer.android.com/reference/android/app/ListFragment.html


1

আপনি এটি ব্যবহার করেছেন তা নিশ্চিত করুন

<meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyBEwmfL0GaZmdVqdTxxxxxxxx-rVgvY" />

এটা না..

<meta-data 
         android:name="com.google.android.gms.version" 
          android:value="AIzaSyBEwmfL0GaZmdVqdTCvxxxxxxx-rVgvY" /> 

1

এই একই ত্রুটি ছিল। আমার কারণটি ছিল আমার খণ্ড শ্রেণীর দৃশ্যমানতা। এটি ডিফল্টতে সেট করা ছিল, সর্বজনীন হওয়া উচিত।


1

আপনি খণ্ড onCreateএবং onCreateViewপদ্ধতি পোস্ট করতে পারেন ? আমার ঠিক একই ব্যতিক্রম ছিল যা খণ্ড onCreateপদ্ধতিতে একটি ব্যতিক্রমের কারণে ঘটেছিল , যখন আমি এই সমস্যাটি স্থির করি তখন শ্রেণিক খণ্ডকে স্ফীতকরণে ত্রুটিটি ঠিক করা হয়েছিল


1

অ্যান্ড্রয়েড স্টুডিওতে আমি এই ত্রুটিটি পেয়েছি সমস্যাটি হ'ল অনক্রিটভিউ ফাংশনের কোডটি থাকাকালীন আমার খণ্ডটির একটি আপেক্ষিক বিন্যাস ছিল

mDrawerListView = (ListView) inflater.inflate(
                R.layout.fragment_navigation_drawer, container, false);

আপনার কোড একই জিনিস করছে?


1

আপনি উত্তরাধিকারী চান AppCompatActivity , তাহলে আপনি this- কার্যকলাপ XML- এর ভালো কিছু করতে পারেন, একটি ব্যবহার FrameLayout this- মত

<FrameLayout
    android:id="@+id/result_fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/progress_frame"/>

এবং ক্রিয়াকলাপে onCreate-

final FragmentManager supportFragmentManager = getSupportFragmentManager();
    FragmentTransaction ft = supportFragmentManager.beginTransaction();
    ft.replace(R.id.result_fragment, fphResultActivityFragment, "result fragment");
    ft.commitAllowingStateLoss();

ধন্যবাদ এটি সাহায্য করেছে। আমি নিশ্চিত হয়েছি না কেন আমি কাজ করেছি এমন অন্যান্য অ্যাপ্লিকেশনগুলিতে আমার লেআউটে সফলভাবে <ফ্রেমমেন্ট> ব্যবহার করতে পেরেছি, তবে এটি এখানে কাজ করছে না!
সিঙ্গুলারিটিফিউচার

কেবলমাত্র এটি কাজ করতে পারে তা নোট করুন তবে এটি সাধারণত গতিশীল খণ্ডগুলির জন্য স্থির নয়
ট্যানার সামার

1

আমি একই ত্রুটি পেয়েছি, তবে আমার সমস্যাটি হ'ল আমার খণ্ডটির পিতামাতার ক্রিয়াকলাপের এক্সএমএল লেআউটে কোনও আইডি নেই।


1

একদিনের লড়াইয়ের পরে আমি কিছু দৃশ্যের চেক পেয়েছি যে আপনি একইরকম মুখোমুখি হচ্ছেন,

যদি সমস্ত কিছু গুগল কোডের মতো একই হয়ে থাকে তবে দয়া করে আমার ক্ষেত্রে ম্যানিফেস্ট ফাইলটি পরীক্ষা করুন আমি জিও কী এবং মানচিত্র কী যুক্ত করেছি যে কারণে ব্যতিক্রম ঘটে,

দ্রষ্টব্য - ম্যানিফেস্ট ফাইলটিতে দুটি কী যুক্ত করবেন না ম্যাপ কী সরান

meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/google_maps_key"/>

উপরে কোড এবং এই কোড যুক্ত করুন।

 <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="@string/auto_location"/>

 <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>

1

আমারও একই সমস্যা ছিল; অ্যাডমব উদাহরণটি চালানোর পরে , আমি আমার অ্যাপটিতে বিজ্ঞাপনগুলি সন্নিবেশ করানোর চেষ্টা করেছি, যার ফলে এই ত্রুটি হয়েছে:

01-02 16:48:51.269    8199-8199/it.dndc.BreathPlot E/AndroidRuntime FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
 Caused by: android.view.InflateException: Binary XML file line #57: Error inflating class fragment

সমাধানটি হ'ল: আপনি কোনও বিজ্ঞাপনের জন্য টুকরাটি তালিকাকর্মের মধ্যে সন্নিবেশ করতে পারবেন না। পরিবর্তে, আমি এটিকে কোনও ফ্র্যাগমেন্টএকটিভিটিতে এবং কোনও সমস্যা ছাড়াই অ্যাকশনবার অ্যাক্টিভিটিতে যুক্ত করতে পারি।

আমার পরামর্শটি হ'ল: অ্যাডমব উদাহরণ থেকে শুরু করুন এবং এতে আপনার বিদ্যমান অ্যাপটি যুক্ত করুন: আমি অনেক সময় বাঁচাতে পারতাম !!!


1

আপনি যদি নেভিগেশন উপাদানটির সাথে অবরুদ্ধ ব্যবহার করেন তবে আপনার অ্যান্ড্রয়েডের খণ্ড এবং আপনার আরগগুলি বাদ দিতে হবে। আপনার অগ্রবর্তী-বিধি ফাইলগুলিতে এই লাইনগুলি যুক্ত করুন:

# Exclude the fragments and argType for navigation component.
-keep class * extends androidx.fragment.app.Fragment{}
-keep class com.safetonet.presentation.features.parent.adddevice.model.PresentableAddDeviceData
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.