目前我正在制作一个在操作栏上有EditText的应用。我发现了如何通过以下链接在操作栏上放置自定义视图:How to set a custom view in actionbar in android?。 我使用getSupportActionBar将EditText加载到操作栏上。
ViewBag.PeopleList = People;
return View("Index", ViewBag.PeopleList);
它加载一个名为actionbar_view.xml的xml文件。该xml文件的代码如下所示。
getSupportActionBar.setCustomView(R.layout.actionbar_view);
问题在于,与放置在操作栏下方区域的所有普通EditTexts不同,操作栏上的编辑文本不会自动选中。有没有办法在操作栏上自动选择此编辑文本?
顺便说一下,我确实查看了以下链接,How to focus and show soft keyboard when a EditText is shown in action bar?不幸的是,我试图了解解决方案并应用于我的代码,但编辑文本仍未自动选中。我仍然是堆栈溢出的新手,所以如果我没有提供足够的信息/代码来解决我的问题,请在评论中告诉我。谢谢!
答案 0 :(得分:1)
哦,所以在做了一些研究后,我找到了一个叫做请求焦点的方法。 Request Focus将请求editText的焦点,但我还需要添加两行代码。选择editText时,这两行代码将弹出键盘。问题解决了!以下是我请求对操作栏上的编辑文本进行焦点的方法。
searchq.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(searchq, InputMethodManager.SHOW_IMPLICIT);
答案 1 :(得分:0)
有一个替代方案可以根据需要制作自定义视图..您不必在ActionBar
中执行此操作您可以隐藏ActionBar
并创建自己的视图在xml
,因为在actionbar
中使用时可能会遇到一些限制。
希望它可能有所帮助...