SearchView edittext is always null

此生再无相见时 提交于 2019-11-27 16:18:48

问题


I always get that textView is null when doing this:

public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.main, menu);

        MenuItem searchItem = menu.findItem(R.id.action_search);
        SearchView searchView = (SearchView) MenuItemCompat
                .getActionView(searchItem);

        int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
        TextView textView = (TextView) searchView.findViewById(id);
        textView.setTextColor(Color.WHITE);
}

Anyone know why?


回答1:


I'm using action bar of appcompat v7 and my solusion is:

TextView searchText = (TextView) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);

Hope this help.




回答2:


It's a EditText not a TextView.

Try something like that:

int id = searchView.getContext()
                   .getResources()
                   .getIdentifier("android:id/search_src_text", null, null);
EditText editText = (EditText) searchView.findViewById(id);

Hope it helps.



来源:https://stackoverflow.com/questions/18260951/searchview-edittext-is-always-null

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!