如何自动选择操作栏上的自定义视图(EditText)?

时间:2015-05-06 15:51:43

标签: android xml android-actionbar android-edittext

目前我正在制作一个在操作栏上有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?不幸的是,我试图了解解决方案并应用于我的代码,但编辑文本仍未自动选中。我仍然是堆栈溢出的新手,所以如果我没有提供足够的信息/代码来解决我的问题,请在评论中告诉我。谢谢!

2 个答案:

答案 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中使用时可能会遇到一些限制。 希望它可能有所帮助...