我的问题非常简短。我有一个带有搜索按钮和列表视图的xml布局,以及一个活动。
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>
活动
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
,它可以正常工作。有人知道它为什么不起作用吗?
由于
答案 0 :(得分:0)
与评论过您问题的所有人一样,您尝试查找搜索结果的行无法为您提供NullPointerException,因为您没有使用null的搜索结果。 findViewById()
返回一个视图,如果它存在于setContentView()
中提供的布局中,即activity_main,否则返回null。我建议你做两件事: