Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:添加SearchView时出现NullPointerException_Java_Android_Nullpointerexception_Searchview - Fatal编程技术网

Java Android:添加SearchView时出现NullPointerException

Java Android:添加SearchView时出现NullPointerException,java,android,nullpointerexception,searchview,Java,Android,Nullpointerexception,Searchview,我将SearchView添加到RelativeLayout中,但我收到了NullPointerException activity.xml <SearchView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/searchView" android:layout_below="@+id/textView" androi

我将
SearchView
添加到
RelativeLayout
中,但我收到了
NullPointerException

activity.xml

<SearchView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/searchView"
    android:layout_below="@+id/textView"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="57dp" />

错误日志:

java.lang.NullPointerException
at android.content.res.TypedArray.hasValueOrEmpty(TypedArray.java:845)
at android.widget.SearchView.<init>(SearchView.java:295)
at android.widget.SearchView.<init>(SearchView.java:258)
at android.widget.SearchView.<init>(SearchView.java:254)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at android.view.LayoutInflater.createView(LayoutInflater.java:607)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:82)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:128)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:410)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:321)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:497)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:485)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:485)
at com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:590)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:644)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:79)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:586)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:581)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:351)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
java.lang.NullPointerException
位于android.content.res.TypedArray.hasValueOrEmpty(TypedArray.java:845)
位于android.widget.SearchView(SearchView.java:295)
位于android.widget.SearchView(SearchView.java:258)
在android.widget.SearchView.(SearchView.java:254)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:526)
位于android.view.LayoutInflater.createView(LayoutInflater.java:607)
在android.view.BridgeInflater.onCreateView(BridgeInflater.java:82)中
位于android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
在android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:128)中
位于android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
在android.view.LayoutInflater\u Delegate.rInflate(LayoutInflater\u Delegate.java:64)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
在android.view.LayoutInflater.充气(LayoutInflater.java:504)
在android.view.LayoutInflater.充气(LayoutInflater.java:385)
在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:410)上
位于com.android.layoutlib.bridge.bridge.createSession(bridge.java:321)
位于com.android.ide.common.rendering.layoutbrary.createSession(layoutbrary.java:350)
位于com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:497)
位于com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:485)
位于com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
位于com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:485)
位于com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:590)
位于org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:644)
访问org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1700(AndroidLayoutPreviewToolWindowManager.java:79)
位于org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:586)
位于com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152)
位于com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
位于com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
位于com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
位于com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137)
位于org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:581)
在com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
在com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
位于com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
位于com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
位于com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
位于com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
位于com.intellij.util.concurrency.QueueProcessor.runsafe(QueueProcessor.java:238)
在com.intellij.util.Alarm$Request$1.run(Alarm.java:351)上
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
在java.util.concurrent.FutureTask.run(FutureTask.java:262)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
运行(Thread.java:744)

只需将android xml布局中的api 22更改为21即可

发布完整的xml文件,您是否对代码进行了任何更改?您是否将searchView置于Actionbar中?为什么?请说明原因。因为您正在使用的api可能不支持“SearchView”