android.content.res.Resources $NotFoundException:资源ID#0x7f07006e

android.content.res.Resources $NotFoundException:资源ID#0x7f07006e,第1张

概述实际上,我不知道为什么会出现这个错误.遵循代码,希望有一切对诊断有用.应用程序的结构是标准的导航抽屉活动,里面有一个片段.Fragment有一个RecyclerView.使用的设备是MotorolaXT1068(Android6.0,API23).logcat的03-2616:07:54.34020272-20272/com.example.ves.gennaio

实际上,我不知道为什么会出现这个错误.

遵循代码,希望有一切对诊断有用.

应用程序的结构是标准的导航抽屉活动,里面有一个片段. Fragment有一个RecyclerVIEw.

使用的设备是Motorola XT1068(Android 6.0,API 23).

logcat的

03-26 16:07:54.340 20272-20272/com.example.ves.gennaio3 E/AndroIDRuntime: FATAL EXCEPTION: main    Process: com.example.ves.gennaio3, PID: 20272    androID.content.res.Resources$NotFoundException: Resource ID #0x7f07006e        at androID.content.res.Resources.getValue(Resources.java:1351)        at androID.support.v7.Widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:330)        at androID.support.v7.Widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)        at androID.support.v7.Widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188)        at androID.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)        at androID.support.v7.Widget.AppCompatimageHelper.setimageResource(AppCompatimageHelper.java:85)        at androID.support.v7.Widget.AppCompatimageVIEw.setimageResource(AppCompatimageVIEw.java:94)        at com.example.ves.gennaio3.models.RecyclerVIEwAdapter.onBindVIEwHolder(RecyclerVIEwAdapter.java:38)        at com.example.ves.gennaio3.models.RecyclerVIEwAdapter.onBindVIEwHolder(RecyclerVIEwAdapter.java:17)        at androID.support.v7.Widget.RecyclerVIEw$Adapter.onBindVIEwHolder(RecyclerVIEw.java:6482)        at androID.support.v7.Widget.RecyclerVIEw$Adapter.bindVIEwHolder(RecyclerVIEw.java:6515)        at androID.support.v7.Widget.RecyclerVIEw$Recycler.tryBindVIEwHolderByDeadline(RecyclerVIEw.java:5458)        at androID.support.v7.Widget.RecyclerVIEw$Recycler.tryGetVIEwHolderForpositionByDeadline(RecyclerVIEw.java:5724)        at androID.support.v7.Widget.RecyclerVIEw$Recycler.getVIEwForposition(RecyclerVIEw.java:5563)        at androID.support.v7.Widget.RecyclerVIEw$Recycler.getVIEwForposition(RecyclerVIEw.java:5559)        at androID.support.v7.Widget.linearlayoutmanager$LayoutState.next(linearlayoutmanager.java:2229)        at androID.support.v7.Widget.linearlayoutmanager.layoutChunk(linearlayoutmanager.java:1556)        at androID.support.v7.Widget.linearlayoutmanager.fill(linearlayoutmanager.java:1516)        at androID.support.v7.Widget.linearlayoutmanager.onLayoutChildren(linearlayoutmanager.java:608)        at androID.support.v7.Widget.RecyclerVIEw.dispatchLayoutStep2(RecyclerVIEw.java:3693)        at androID.support.v7.Widget.RecyclerVIEw.dispatchLayout(RecyclerVIEw.java:3410)        at androID.support.v7.Widget.RecyclerVIEw.onLayout(RecyclerVIEw.java:3962)        at androID.vIEw.VIEw.layout(VIEw.java:16646)        at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5440)        at androID.Widget.relativeLayout.onLayout(relativeLayout.java:1079)        at androID.vIEw.VIEw.layout(VIEw.java:16646)        at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5440)        at androID.Widget.FrameLayout.layoutChildren(FrameLayout.java:336)        at androID.Widget.FrameLayout.onLayout(FrameLayout.java:273)        at androID.vIEw.VIEw.layout(VIEw.java:16646)        at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5440)        at androID.Widget.relativeLayout.onLayout(relativeLayout.java:1079)        at androID.vIEw.VIEw.layout(VIEw.java:16646)        at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5440)        at androID.support.design.Widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1166)        at androID.support.design.Widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:851)        at androID.support.design.Widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:870)        at androID.vIEw.VIEw.layout(VIEw.java:16646)        at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5440)        at androID.support.v4.Widget.DrawerLayout.onLayout(DrawerLayout.java:1172)        at androID.vIEw.VIEw.layout(VIEw.java:16646)        at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5440)        at androID.Widget.FrameLayout.layoutChildren(FrameLayout.java:336)        at androID.Widget.FrameLayout.onLayout(FrameLayout.java:273)        at androID.vIEw.VIEw.layout(VIEw.java:16646)        at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5440)        at androID.Widget.linearLayout.setChildFrame(linearLayout.java:1743)        at androID.Widget.linearLayout.layoutVertical(linearLayout.java:1586)        at androID.Widget.linearLayout.onLayout(linearLayout.java:1495)        at androID.vIEw.VIEw.layout(VIEw.java:16646)        at androID.vIEw.VIEwGroup.layout(VIEwGroup.java:5440)        at androID.Widget.FrameLayout.layoutChildren(FrameLayout.java:336)        a        03-26 16:07:55.215 15332-18804/? E/AudioRecord-JNI: Error -4 during AudioRecord native read

依赖

dependencIEs {    implementation filetree(dir: 'libs', include: ['*.jar'])    implementation 'com.androID.support:appcompat-v7:26.1.0'    implementation 'com.androID.support:cardvIEw-v7:26.1.0'    implementation 'com.androID.support:design:26.1.0'    implementation 'com.androID.support.constraint:constraint-layout:1.0.2'    implementation 'com.androID.support:support-v4:26.1.0'    implementation 'com.androID.support:recyclervIEw-v7:26.1.0'    testImplementation 'junit:junit:4.12'    androIDTestImplementation 'com.androID.support.test:runner:1.0.1'    androIDTestImplementation 'com.androID.support.test.espresso:espresso-core:3.0.1'}

MainActivity.java

package com.example.ves.gennaio3;import androID.net.Uri;import androID.os.Bundle;import androID.support.design.Widget.NavigationVIEw;import androID.support.v4.vIEw.GravityCompat;import androID.support.v4.Widget.DrawerLayout;import androID.support.v7.app.ActionbarDrawerToggle;import androID.support.v7.app.AppCompatActivity;import androID.support.v7.Widget.Toolbar;import androID.vIEw.Menu;import androID.vIEw.MenuItem;public class MainActivity extends AppCompatActivity        implements CardFragment.OnFragmentInteractionListener,        NavigationVIEw.OnNavigationItemSelectedListener {    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findVIEwByID(R.ID.toolbar);        setSupportActionbar(toolbar);        DrawerLayout drawer = (DrawerLayout) findVIEwByID(R.ID.drawer_layout);        ActionbarDrawerToggle toggle = new ActionbarDrawerToggle(                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);        drawer.addDrawerListener(toggle);        toggle.syncState();        NavigationVIEw navigationVIEw = (NavigationVIEw) findVIEwByID(R.ID.nav_vIEw);        navigationVIEw.setNavigationItemSelectedListener(this);        if(findVIEwByID(R.ID.fragment_container)!=null) {            if (savedInstanceState!=null) {return;}            CardFragment cardFragment = new CardFragment();            getSupportFragmentManager().beginTransaction()                    .add(R.ID.fragment_container, cardFragment).commit();        }    }    @OverrIDe    public voID onBackpressed() {        DrawerLayout drawer = (DrawerLayout) findVIEwByID(R.ID.drawer_layout);        if (drawer.isDrawerOpen(GravityCompat.START)) {            drawer.closeDrawer(GravityCompat.START);        } else {            super.onBackpressed();        }    }    @OverrIDe    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @OverrIDe    public boolean onoptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroIDManifest.xml.        int ID = item.getItemID();        //noinspection SimplifiableIfStatement        if (ID == R.ID.action_settings) {            return true;        }        return super.onoptionsItemSelected(item);    }    @SuppressWarnings("StatementWithEmptyBody")    @OverrIDe    public boolean onNavigationItemSelected(MenuItem item) {        int ID = item.getItemID();        if (ID == R.ID.nav_camera) {        } else if (ID == R.ID.nav_gallery) {        } else if (ID == R.ID.nav_slIDeshow) {        } else if (ID == R.ID.nav_manage) {        } else if (ID == R.ID.nav_share) {        } else if (ID == R.ID.nav_send) {        }        DrawerLayout drawer = (DrawerLayout) findVIEwByID(R.ID.drawer_layout);        drawer.closeDrawer(GravityCompat.START);        return true;    }    @OverrIDe    public voID onFragmentInteraction(Uri uri) {    }}

CardFragment.java

package com.example.ves.gennaio3;import androID.content.Context;import androID.net.Uri;import androID.os.Bundle;import androID.support.v4.app.Fragment;import androID.support.v7.Widget.linearlayoutmanager;import androID.support.v7.Widget.RecyclerVIEw;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import com.example.ves.gennaio3.models.ItemObject;import com.example.ves.gennaio3.models.RecyclerVIEwAdapter;import java.util.ArrayList;import java.util.List;/** * A simple {@link Fragment} subclass. * ActivitIEs that contain this fragment must implement the * {@link CardFragment.OnFragmentInteractionListener} interface * to handle interaction events. * Use the {@link CardFragment#newInstance} factory method to * create an instance of this fragment. */public class CardFragment extends Fragment {    private RecyclerVIEw mRecyclerVIEw;    private RecyclerVIEw.LayoutManager mLayoutManager;    // Todo: Rename parameter arguments, choose names that match    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER    private static final String ARG_ParaM1 = "param1";    private static final String ARG_ParaM2 = "param2";    // Todo: Rename and change types of parameters    private String mParam1;    private String mParam2;    private OnFragmentInteractionListener mListener;    public CardFragment() {        // required empty public constructor    }    /**     * Use this factory method to create a new instance of     * this fragment using the provIDed parameters.     *     * @param param1 Parameter 1.     * @param param2 Parameter 2.     * @return A new instance of fragment CardFragment.     */    // Todo: Rename and change types and number of parameters    public static CardFragment newInstance(String param1, String param2) {        CardFragment fragment = new CardFragment();        Bundle args = new Bundle();        args.putString(ARG_ParaM1, param1);        args.putString(ARG_ParaM2, param2);        fragment.setArguments(args);        return fragment;    }    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        if (getArguments() != null) {            mParam1 = getArguments().getString(ARG_ParaM1);            mParam2 = getArguments().getString(ARG_ParaM2);        }    }    @OverrIDe    public VIEw onCreateVIEw(LayoutInflater inflater, VIEwGroup container,                             Bundle savedInstanceState) {        VIEw rootVIEw = inflater.inflate(R.layout.fragment_card, container, false);        rootVIEw.setTag("CardFragment");        List<ItemObject> rowListItem = getAllitemList();        mRecyclerVIEw = (RecyclerVIEw) rootVIEw.findVIEwByID(R.ID.recycler_vIEw);        mLayoutManager = new linearlayoutmanager(getActivity());        mRecyclerVIEw.setLayoutManager(mLayoutManager);        RecyclerVIEwAdapter mAdapter = new RecyclerVIEwAdapter(getActivity(), rowListItem);        mRecyclerVIEw.setAdapter(mAdapter);        return rootVIEw;    }    // Todo: Rename method, update argument and hook method into UI event    public voID onbuttonpressed(Uri uri) {        if (mListener != null) {            mListener.onFragmentInteraction(uri);        }    }    @OverrIDe    public voID onAttach(Context context) {        super.onAttach(context);        if (context instanceof OnFragmentInteractionListener) {            mListener = (OnFragmentInteractionListener) context;        } else {            throw new RuntimeException(context.toString()                    + " must implement OnFragmentInteractionListener");        }    }    @OverrIDe    public voID onDetach() {        super.onDetach();        mListener = null;    }    /**     * This interface must be implemented by activitIEs that contain this     * fragment to allow an interaction in this fragment to be communicated     * to the activity and potentially other fragments contained in that     * activity.     * <p>     * See the AndroID Training lesson <a href=     * "http://developer.androID.com/training/basics/fragments/communicating.HTML"     * >Communicating with Other Fragments</a> for more information.     */    public interface OnFragmentInteractionListener {        // Todo: Update argument type and name        voID onFragmentInteraction(Uri uri);    }    private List<ItemObject> getAllitemList(){        List<ItemObject> allitems = new ArrayList<ItemObject>();        allitems.add(new ItemObject("United States", R.drawable.newyork));        allitems.add(new ItemObject("Canada", R.drawable.canada));        allitems.add(new ItemObject("United Kingdom", R.drawable.uk));        allitems.add(new ItemObject("Germany", R.drawable.germany));        allitems.add(new ItemObject("Sweden", R.drawable.sweden));        return allitems;    }}

activity_main.xml中

<?xml version="1.0" enCoding="utf-8"?><androID.support.v4.Widget.DrawerLayout    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/drawer_layout"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:fitsSystemwindows="true"    tools:openDrawer="start">    <include        layout="@layout/app_bar_main"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent" />    <androID.support.design.Widget.NavigationVIEw        androID:ID="@+ID/nav_vIEw"        androID:layout_wIDth="wrap_content"        androID:layout_height="match_parent"        androID:layout_gravity="start"        androID:fitsSystemwindows="true"        app:headerLayout="@layout/nav_header_main"        app:menu="@menu/activity_main_drawer" /></androID.support.v4.Widget.DrawerLayout>

app_bar_main.xml

<?xml version="1.0" enCoding="utf-8"?><androID.support.design.Widget.CoordinatorLayout 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:layout_wIDth="match_parent"    androID:layout_height="match_parent"    tools:context="com.example.ves.gennaio3.MainActivity">    <androID.support.design.Widget.AppbarLayout        androID:layout_wIDth="match_parent"        androID:layout_height="wrap_content"        androID:theme="@style/Apptheme.AppbarOverlay">        <androID.support.v7.Widget.Toolbar            androID:ID="@+ID/toolbar"            androID:layout_wIDth="match_parent"            androID:layout_height="?attr/actionbarSize"            androID:background="?attr/colorPrimary"            app:popuptheme="@style/Apptheme.PopupOverlay" />    </androID.support.design.Widget.AppbarLayout>    <relativeLayout        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:ID="@+ID/fragment_container">    </relativeLayout></androID.support.design.Widget.CoordinatorLayout>

fragment_card.xml

<FrameLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:tools="http://schemas.androID.com/tools"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    tools:context="com.example.ves.gennaio3.CardFragment">    <relativeLayout        androID:layout_height="match_parent"        androID:layout_wIDth="match_parent">        <androID.support.v7.Widget.RecyclerVIEw            androID:layout_height="match_parent"            androID:layout_wIDth="match_parent"            androID:ID="@+ID/recycler_vIEw"            androID:scrollbars="vertical"/>    </relativeLayout></FrameLayout>

UPDATE

card_vIEw_List.xml(我的RecycleVIEw项目布局)

<?xml version="1.0" enCoding="utf-8"?><androID.support.v7.Widget.CardVIEw    xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_marginBottom="16dp"    androID:layout_height="wrap_content"    androID:layout_wIDth="match_parent"    androID:ID="@+ID/card_vIEw"><relativeLayout    androID:layout_height="match_parent"    androID:layout_wIDth="match_parent">    <ImageVIEw        androID:layout_height="wrap_content"        androID:layout_wIDth="match_parent"        androID:ID="@+ID/country_photo"        androID:scaleType="centerCrop"        androID:layout_centerInParent="true"        androID:contentDescription="@string/action_settings"/>    <TextVIEw        androID:ID="@+ID/country_name"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignParentleft="true"        androID:layout_alignParenttop="true"        androID:layout_marginleft="4dp"        androID:gravity="center"        androID:text="Nigeria"        androID:textSize="30sp"        androID:textStyle="bold" />    <button        androID:ID="@+ID/button"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_alignParentBottom="true"        androID:layout_alignParentEnd="true"        androID:layout_alignParentRight="true"        androID:layout_marginBottom="13dp"        androID:layout_marginEnd="12dp"        androID:layout_marginRight="12dp"        androID:text="Get" /></relativeLayout></androID.support.v7.Widget.CardVIEw>

RecyclerVIEwAdapter.java

package com.example.ves.gennaio3.models;import androID.content.Context;import androID.support.v7.Widget.RecyclerVIEw;import androID.vIEw.LayoutInflater;import androID.vIEw.VIEw;import androID.vIEw.VIEwGroup;import com.example.ves.gennaio3.R;import java.util.List;/** * Created by VES on 03/02/2018. */public class RecyclerVIEwAdapter extends RecyclerVIEw.Adapter<RecyclerVIEwHolders>{    private List<ItemObject> itemList;    private Context context;    public RecyclerVIEwAdapter(Context context, List<ItemObject> itemList) {        this.itemList = itemList;        this.context = context;    }    @OverrIDe    public RecyclerVIEwHolders onCreateVIEwHolder(VIEwGroup parent, int vIEwType) {        VIEw layoutVIEw = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_vIEw_List, null);        RecyclerVIEwHolders rcv = new RecyclerVIEwHolders(layoutVIEw);        return rcv;    }    @OverrIDe    public voID onBindVIEwHolder(RecyclerVIEwHolders holder, int position) {        holder.countryname.setText(itemList.get(position).getname());        holder.countryPhoto.setimageResource(itemList.get(position).getPhoto());    }    @OverrIDe    public int getItemCount() {        return this.itemList.size();    }}

RecyclerVIEwHolders.java

package com.example.ves.gennaio3.models;import androID.support.v7.Widget.RecyclerVIEw;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.ImageVIEw;import androID.Widget.TextVIEw;import androID.Widget.Toast;import com.example.ves.gennaio3.R;/** * Created by VES on 03/02/2018. */public class RecyclerVIEwHolders extends RecyclerVIEw.VIEwHolder implements VIEw.OnClickListener{    public TextVIEw countryname;    public ImageVIEw countryPhoto;    public button button;    public RecyclerVIEwHolders(final VIEw itemVIEw) {        super(itemVIEw);        itemVIEw.setonClickListener(this);        countryname = (TextVIEw)itemVIEw.findVIEwByID(R.ID.country_name);        countryPhoto = (ImageVIEw)itemVIEw.findVIEwByID(R.ID.country_photo);        button = (button)itemVIEw.findVIEwByID(R.ID.button);        button.setonClickListener(new VIEw.OnClickListener(){            public voID onClick(VIEw v) {                Toast.makeText(itemVIEw.getContext(), "questa è prova", Toast.LENGTH_SHORT).show();            }        });    }    @OverrIDe    public voID onClick(VIEw vIEw) {        Toast.makeText(vIEw.getContext(), "Clicked Country position = " + getposition(), Toast.LENGTH_SHORT).show();    }}

UPDATE

其中一个答案表明问题可能与getAllitems()有关.但是调用的资源似乎已正确加载.

解决方法:

您的问题是资源(图像)的错误放置.
您使用(API 23)但API 23的资源为null,因为它们仅为API 24及更高版本.

现在所有标记的图像(v24)这意味着它们处于drawables-v24中,只是移动到drawable中

这将解决你的问题.

总结

以上是内存溢出为你收集整理的android.content.res.Resources $NotFoundException:资源ID#0x7f07006e全部内容,希望文章能够帮你解决android.content.res.Resources $NotFoundException:资源ID#0x7f07006e所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1096804.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存