
实际上,我不知道为什么会出现这个错误.
遵循代码,希望有一切对诊断有用.
应用程序的结构是标准的导航抽屉活动,里面有一个片段. 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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)