gpt4 book ai didi

java - findViewById(R.id.searchView) 导致java空指针异常

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:28 25 4
gpt4 key购买 nike

我有一个非常简短的问题。我有一个带有搜索按钮和 ListView 的 xml 布局,以及一个相应的 Activity 。

XLM:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">

<SearchView android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

<ListView android:id="@+id/locationList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</ListView>

</LinearLayout>

Activity

public class MainActivity extends AppCompatActivity implements SearchView.OnQueryTextListener {

private SearchView searchView;
private ListView locationListView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

searchView = (SearchView) findViewById(R.id.searchView);
locationListView = (ListView) findViewById( R.id.locationList );
}

searchView = (SearchView) findViewById(R.id.searchView); 只是给出了空指针异常。我检查将其更改为 EditText,它有效。有人知道为什么它不起作用吗?

谢谢

最佳答案

像每个对您的问题发表评论的人一样,您尝试查找搜索 View 的行不会给您 NullPointerException,因为您没有使用空的搜索 View 。 findViewById() 如果 View 存在于您在 setContentView() 中提供的布局中,即 Activity_main,则返回该 View ,否则返回 null。我建议你做两件事:

  • 检查包含搜索 View 的布局是否名为“activity_main”
  • 将调试点放置在您找到搜索 View 的下一行
    然后运行调试工具,启动 Activity ,检查是否有空搜索 View 。如果是的话,可能与您的布局名称有关。如果没有,请在您的其他地方搜索
    出现空指针异常的代码。

关于java - findViewById(R.id.searchView) 导致java空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37822864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com