强制用户在SearchView中输入数字

时间:2017-06-29 07:12:17

标签: android android-actionbar searchview

我在我的应用中的操作栏上使用SearchView,我将其定义如下

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_search"
        android:title="@string/search"
        android:icon="@android:drawable/ic_menu_search"
        app:showAsAction="ifRoom"
        app:actionViewClass="android.widget.SearchView" />
</menu>

如果是editText,我可以简单地编写android:inputType =&#34; Number&#34;或类似的东西强迫用户输入数字,但我找不到项目的这种选项。我不想手动检查用户是否输入了一个数字来搜索视图,我想向用户显示一个只包含数字的键盘。我怎么能做到这一点?

1 个答案:

答案 0 :(得分:3)

我找到了一个简单的解决方案。我唯一需要做的就是在onCreateOptionsMenu中使用setInputType()方法

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.music, menu);
        SearchView searchView= (SearchView) menu.findItem(R.id.action_search).getActionView();
        searchView.setInputType(InputType.TYPE_CLASS_NUMBER);
        return true;
    }