android.content.res.Res উত্স $ নটফাউন্ডএক্সেপশন: স্ট্রিং রিসোর্স আইডি # 0x0


145

আমি একটি অ্যান্ড্রয়েড অ্যাপ বিকাশ করছি যা মাইএসকিউএল ডাটাবেস থেকে ডেটা পড়ে এবং আমি এই ত্রুটির মুখোমুখি হয়েছি। আমার এই এক্সএমএল লেআউটটি রয়েছে:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 


        <TextView android:id="@+id/wardNumber" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_marginLeft="3dp" 
            android:text="Ward Number" 
            android:textSize="22dp"/> 


        <TextView android:id="@+id/dateTime" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_below="@id/wardNumber" 
            android:layout_alignParentRight="true" 
            android:layout_marginRight="3dp" 
            android:text="Date-Time" />

        <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/dateTime"
            android:layout_alignBottom="@+id/dateTime"
            android:layout_alignLeft="@+id/wardNumber"
            android:layout_marginLeft="3dp" 
            android:text="Name" />

</RelativeLayout> 

এবং এটি আমার জাভা ফাইল:

public ApplicationAdapter(Context context, List<Application> items) {
    super(context, R.layout.app_custom_list, items);
    this.items = items;
}

@Override
public int getCount() {
    return items.size();
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;

    if(v == null) {
        LayoutInflater li = LayoutInflater.from(getContext());
        v = li.inflate(R.layout.app_custom_list, null);            
    }

    Application app = items.get(position);

    if(app != null) {
      //  ImageView icon = (ImageView)v.findViewById(R.id.appIcon);
        TextView wardNumber = (TextView)v.findViewById(R.id.wardNumber);
        TextView name = (TextView)v.findViewById(R.id.name);
      //  LinearLayout ratingCntr = (LinearLayout)v.findViewById(R.id.ratingCntr);
        TextView dateTime = (TextView)v.findViewById(R.id.dateTime);

  //      if(icon != null) {
  //          Resources res = getContext().getResources();
   //         String sIcon = "com.sj.jsondemo:drawable/" + app.getIcon();
   //         icon.setImageDrawable(res.getDrawable(res.getIdentifier(sIcon, null, null)));
   //     }

        if(wardNumber != null) wardNumber.setText(app.getTitle());

        if(name != null) name.setText(app.getTitle());

        if(dateTime != null) {
            dateTime.setText(app.getTotalDl());
          //  NumberFormat nf = NumberFormat.getNumberInstance();
          //  dateTime.setText(nf.format(app.getTotalDl())+" dl");            
        }


    }

    return v;
}
}

যখন এই কার্যকলাপটি বলা হয়, আমি এই ত্রুটি বার্তাটি পাই:

11-24 21:12:03.633:  E/AndroidRuntime(1251):  FATAL EXCEPTION: main
11-24 21:12:03.633:  E/AndroidRuntime(1251): android.content.res.Resources$NotFoundException: String resource ID #0x0
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.content.res.Resources.getText(Resources.java:201)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.TextView.setText(TextView.java:2863)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at com.sj.jsondemo.Appl icationAdapter.getView(ApplicationAdapter.java:53)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.AbsListView.obtainView(AbsListView.java:1430)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.ListView.onMeasure(ListView.java:1127)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:701)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.LinearLayout.onMeasure(LinearLayout.java:311)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
11-24 21:12:03.633: E/AndroidRuntime(1251):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at  android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.View.measure(View.java:8313)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.ViewRoot.performTraversals(ViewRoot.java:839)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.os.Looper.loop(Looper.java:130)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at android.app.ActivityThread.main(ActivityThread.java:3683)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at java.lang.reflect.Method.invokeNative(Native Method)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at java.lang.reflect.Method.invoke(Method.java:507)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-24 21:12:03.633:  E/AndroidRuntime(1251):    at dalvik.system.NativeStart.main(Native Method)
11-24 21:12:08.922: I/Process(1251): Sending signal. PID: 1251 SIG: 9

আমি জানি না কীভাবে এই ত্রুটিটি ঠিক করা যায়।

উত্তর:


455

পরিবর্তন

dateTime.setText(app.getTotalDl());

প্রতি

dateTime.setText(String.valueOf(app.getTotalDl()));

এর বিভিন্ন সংস্করণ রয়েছে setText- একটি স্ট্রিং নেয় এবং একটি ইনট রিসোর্স আইডি নেয়। আপনি যদি এটি একটি পূর্ণসংখ্যা পাস করেন তবে এটি সম্পর্কিত স্ট্রিং রিসোর্স আইডি সন্ধান করার চেষ্টা করবে - যা এটি খুঁজে পেতে পারে না, এটি আপনার ত্রুটি।

আমি অনুমান করি যে app.getTotalDl()কোন পূর্বে আপনার setTextএটি নির্দিষ্ট করে স্ট্রিংয়ের মানটি সেট করতে নির্দিষ্ট করে বলতে হবে।

সেটটেক্সট (ইনট রিসিড ) বনাম সেটটেক্সট (চারসেক্সেন্স পাঠ্য)


4
সেটটেক্সট (ইন্ট রেজিড) এর সাথে জাভাডক সংযুক্ত নেই। তাদের উচিত ছিল যে এটিকে একটি আলাদা নাম দেওয়া উচিত - স্পষ্টতই এখানে একটি সাধারণ অপব্যবহার। সুতরাং, পুনঃনির্ধারণ নির্দিষ্ট করে কোনও পাঠ্যদর্শনটির পাঠ্যকে অন্য সংস্থানটির পাঠ্য হিসাবে সেট করে?
স্টিলথ রাব্বি

1
আমি এটি ইতিমধ্যে জানি, তবে আমি সর্বদা এটি ভুলে যাই এবং সবসময় এই উত্তরটি শেষ করি
জিতেন্দ্র সাওয়ান্ত

12

প্রতিস্থাপন করা

dateTime.setText(app.getTotalDl());

সঙ্গে

dateTime.setText(""+app.getTotalDl());

এটি কাজ, তবে আমি মনে করি এটি উপযুক্ত উপায় নয়। @ কেনওয়ल्फ উত্তরটি সঠিক এবং পেশাদার উপায়।
আমিন

1

আমরা যদি মানটি intপাই এবং এটি সেট করি Stringতবে ত্রুটি ঘটে। আমার সমাধান পিএফবি,

Textview = tv_property_count;
int property_id;
tv_property_count.setText(String.valueOf(property_id));

0

আপনি যখন পাঠ্যটি সেট করার চেষ্টা করবেন Edittextবা textviewআপনার কেবল স্ট্রিং ফর্ম্যাটটিই পাস করা উচিত।

dateTime.setText(app.getTotalDl());

প্রতি

dateTime.setText(String.valueOf(app.getTotalDl()));

0

সেটটেক্সটের মূল্যায়নকৃত মানটি পূর্ণসংখ্যা ছিল তাই এটির সাথে সংযুক্ত কোনও উত্স দেখতে পাওয়া গেল কিন্তু এটি পাওয়া যায়নি, আপনি পাঠ্য সেট করতে চেয়েছিলেন যাতে এটি স্ট্রিং হওয়া উচিত যাতে সংযুক্তি দিয়ে পূর্ণসংখ্যাকে স্ট্রিংয়ে রূপান্তর করতে হবে .toStringe বা String.valueOf(int)আপনার সমস্যার সমাধান করবে!



0

আপনি যদি মানগুলিতে মান পান তবে তার জন্য আপনাকে স্ট্রিংটি ব্যবহার করতে হবে এটি ত্রুটি ছুঁড়ে দিচ্ছে

আগে

  holder.villageName.setText(villageModelList.get(position).getVillageName());
    holder.villageCount.setText(villageModelList.get(position).getPeopleCount());
    holder.peopleCount.setText(villageModelList.get(position).getPeopleCount());

পরে

  holder.villageName.setText(villageModelList.get(position).getVillageName());
    holder.villageCount.setText(String.valueOf(villageModelList.get(position).getPeopleCount()));
    holder.peopleCount.setText(String.valueOf(villageModelList.get(position).getPeopleCount()));

আপনি স্ট্রিং.ভ্যালুওফ যোগ করে ত্রুটিটি সমাধান করতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.