android.content.res.Resources$NotFoundException:Resource ID#0x0 java异常
运行片段试图显示对象的ListView时发生此异常。我已经研究过这个异常,但其他情况下的解决方案似乎与“setText”函数有关,或者与试图将字符串以外的任何内容显示为字符串的任何内容有关。我真的不知道还能说什么。提前谢谢 Java类android.content.res.Resources$NotFoundException:Resource ID#0x0 java异常,java,android,Java,Android,运行片段试图显示对象的ListView时发生此异常。我已经研究过这个异常,但其他情况下的解决方案似乎与“setText”函数有关,或者与试图将字符串以外的任何内容显示为字符串的任何内容有关。我真的不知道还能说什么。提前谢谢 Java类 import android.content.Context; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import in.galaxyofandroid.spinerdialog.OnSpinerItemClick;
import in.galaxyofandroid.spinerdialog.SpinnerDialog;
import static android.R.attr.name;
import static android.R.attr.value;
import static com.company.ingredismartv2.R.id.add;
import static com.company.ingredismartv2.R.id.fragment;
import static com.company.ingredismartv2.R.id.nav_kitchen;
public class Kitchen extends Fragment {
public Kitchen() {
// Required empty public constructor
}
SpinnerDialog spinnerDialog;
Button add;
ArrayList<String> listOfIngs = new ArrayList<>();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_kitchen, container, false);
add = (Button) root.findViewById(R.id.add);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
spinnerDialog.showSpinerDialog();
}
});
IngAdapter adapter = new IngAdapter(getContext(), listOfIngs);
ListView listView = (ListView) root.findViewById(R.id.list);
listView.setAdapter(adapter);
return root;
}
public class IngAdapter extends ArrayAdapter<String> {
IngAdapter(Context context, ArrayList<String> ings) {
super(context, 0, ings);
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
spinnerDialog = new SpinnerDialog(getActivity(), ingredients, "Select An Ingredient");
final Ing tomatoSauce = new Ing("Tomato Sauce", 0 ,0);
listOfIngs.add(tomatoSauce.name);
final Ing chicken = new Ing("Chicken", 0 ,0);
listOfIngs.add(chicken.name);
final Ing olives = new Ing("Olives", 0, 0);
listOfIngs.add(olives.name);
ingredients.add("Tomato Sauce");
ingredients.add("Chicken");
ingredients.add("Olives");
ArrayList<Ing> ing = new ArrayList<>();
spinnerDialog.bindOnSpinerListener(new OnSpinerItemClick() {
@Override
public void onClick(String Ingredient, int i) {
Toast.makeText(Kitchen.super.getContext(), "Selected "+Ingredient, Toast.LENGTH_SHORT).show();
if(Ingredient.equals(tomatoSauce.name)) {
if (tomatoSauce.init == 0){
tomatoSauce.init = 1;
}
} else if(Ingredient.equals(chicken.name)) {
if (chicken.init == 0){
chicken.init = 1;
}
} else if(Ingredient.equals(olives.name)){
if (olives.init == 0){
olives.init = 1;
}
}
}
});
}
ArrayList<String> ingredients = new ArrayList<>();
public class Ing {
int init;
int value;
String name;
Ing(String name, int value, int init) {
this.name = name;
this.value = value;
this.init = init;
}
}
导入android.content.Context;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.LinearLayout;
导入android.widget.ListView;
导入android.widget.Spinner;
导入android.widget.TextView;
导入android.widget.Toast;
导入java.util.ArrayList;
导入到.galaxyofadroid.spinerdialog.OnSpinerItemClick中;
导入.galaxyofadroid.spinerdialog.SpinnerDialog;
导入静态android.R.attr.name;
导入静态android.R.attr.value;
导入静态com.company.ingredismartv2.R.id.add;
导入静态com.company.ingredismartv2.R.id.fragment;
导入static com.company.ingredismartv2.R.id.nav_kitchen;
公营厨房{
公共厨房(){
//必需的空公共构造函数
}
喷丝板对话框喷丝板对话框;
按钮添加;
ArrayList listOfIngs=新的ArrayList();
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根=充气机。充气(R.layout.fragment\u厨房,容器,假);
add=(按钮)root.findviewbyd(R.id.add);
add.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
spinnerDialog.showSpinerDialog();
}
});
IngAdapter adapter=新的IngAdapter(getContext(),listOfIngs);
ListView ListView=(ListView)root.findViewById(R.id.list);
setAdapter(适配器);
返回根;
}
公共类IngAdapter扩展了ArrayAdapter{
IngAdapter(上下文、数组列表){
超级(上下文,0,0);
}
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
spinnerDialog=新建spinnerDialog(getActivity(),配料,“选择配料”);
最终的番茄酱=新的番茄酱(“番茄酱”,0,0);
添加(tomatoSauce.name);
最终Ing鸡=新Ing(“鸡”,0,0);
listOfIngs.add(chicken.name);
最终Ing橄榄=新Ing(“橄榄”,0,0);
添加(olives.name);
配料:加入番茄酱;
配料:加入鸡肉;
成分。加入橄榄;
ArrayList ing=新的ArrayList();
spinnerDialog.bindOnSpinerListener(新的OnSpinerItemClick(){
@凌驾
公共void onClick(字符串成分,int i){
Toast.makeText(Kitchen.super.getContext(),“Selected”+配料,Toast.LENGTH\u SHORT.show();
if(成分等于(tomatoSauce.name)){
if(tomatoSauce.init==0){
tomatoSauce.init=1;
}
}else if(配料.等于(鸡肉.名称)){
if(chicken.init==0){
chicken.init=1;
}
}else if(成分等于(橄榄名称)){
if(olives.init==0){
olives.init=1;
}
}
}
});
}
ArrayList Components=新的ArrayList();
公开课{
int init;
int值;
字符串名;
Ing(字符串名称、int值、int init){
this.name=名称;
这个值=值;
this.init=init;
}
}
}
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.company.ingredismartv2.Kitchen">
<!-- TODO: Update blank fragment layout -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:text="Add An Ingredient"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/add"
android:textSize="30sp"
android:layout_gravity="center" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ListView
android:layout_width="320dp"
android:layout_height="match_parent"
android:id="@+id/list">
</ListView>
<ListView
android:layout_width="60dp"
android:layout_height="match_parent">
</ListView>
</LinearLayout>
</LinearLayout>
编辑(日志)
I/Adreno EGL::EGL 1.4高通公司构建:()
OpenGL ES着色器编译器版本:E031.25.03.04
建造日期:2015年6月4日星期一
本地分行:
远程分支:
本地修补程序:
重建分支机构:
I/OpenGLRenderer:初始化EGL,版本1.4
D/OpenGLRenderer:启用调试模式0
`在此处输入代码`W/ResourceType:获取资源号0x00000000的值时没有包标识符
D/AndroidRuntime:关闭虚拟机
E/AndroidRuntime:致命异常:主
进程:com.comapany.ingredismartv2,PID:9504
android.content.res.Resources$NotFoundException:资源ID#0x0
位于android.content.res.Resources.getValue(Resources.java:1266)
位于android.content.res.Resources.loadXmlResourceParser(Resources.java:2652)
位于android.content.res.Resources.getLayout(Resources.java:1082)
在android.view.LayoutInflater.inflate(LayoutInflater.java:412)
位于android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:371)
在android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)中
在android.widget.AbsListView.obtainView(AbsListView.java:2347)
位于android.widget.ListView.makeAndAddView(ListView.java:1864)
在android.widget.ListView.fillDown(ListView.java:698)中
位于android.widget.ListView.fillFromTop(ListView.java:759)
位于android.widget.ListView.layoutChildren(ListView.java:1673)
在android.widget.AbsListView.onLayout上(AbsListView.java:2151)
位于android.view.view.layout(view.java:15689)
位于android.view.ViewGroup.layout(ViewGroup.java:5040)
位于android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
位于android.widget.LinearLayout.layouuthorizontal(LinearLayout.java:1692)
位于android.widget.LinearLayout.onLayout(LinearLayout.java:1468)
位于android.view.view.layout(view.java:15689)
I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: EGL 1.4 QUALCOMM build: ()
OpenGL ES Shader Compiler Version: E031.25.03.04
Build Date: 04/06/15 Mon
Local Branch:
Remote Branch:
Local Patches:
Reconstruct Branch:
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Enabling debug mode 0
`enter code here`W/ResourceType: No package identifier when getting value for resource number 0x00000000
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.comapany.ingredismartv2, PID: 9504
android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.Resources.getValue(Resources.java:1266)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:2652)
at android.content.res.Resources.getLayout(Resources.java:1082)
at android.view.LayoutInflater.inflate(LayoutInflater.java:412)
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:371)
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
at android.widget.AbsListView.obtainView(AbsListView.java:2347)
at android.widget.ListView.makeAndAddView(ListView.java:1864)
at android.widget.ListView.fillDown(ListView.java:698)
at android.widget.ListView.fillFromTop(ListView.java:759)
at android.widget.ListView.layoutChildren(ListView.java:1673)
at android.widget.AbsListView.onLayout(AbsListView.java:2151)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1692)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1468)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1076)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1391)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:870)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1193)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:579)
at android.widget.FrameLayout.onLayout(FrameLayout.java:514)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1466)
at android.view.View.layout(View.java:15689)
at android.view.ViewGroup.layout(ViewGroup.java:5040)
at android.widget.FrameLay
I/Process: Sending signal. PID: 9504 SIG: 9
Disconnected from the target VM, address: 'localhost:8600', transport: 'socket'
super(context, 0, ings);
super(context, android.R.layout.simple_list_item_1, ings);