Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SearchView OnClickListener_Android_Searchview - Fatal编程技术网

Android SearchView OnClickListener

Android SearchView OnClickListener,android,searchview,Android,Searchview,我的项目上有一个工作的SearchView(在工具栏上)。我有一个检查网络连接的布尔方法 我想做什么: 如果myApp处于脱机状态,当用户单击搜索图标时,不允许扩展searchView并打开对话框 是否可以不扩展SearchView类 谢谢。制作这样的东西: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case android.R.id.yoursea

我的项目上有一个工作的SearchView(在工具栏上)。我有一个检查网络连接的布尔方法

我想做什么:

如果myApp处于脱机状态,当用户单击搜索图标时,不允许扩展searchView并打开对话框

是否可以不扩展SearchView类


谢谢。

制作这样的东西:

 public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()){
        case android.R.id.yoursearchviewid:
            if(!isNetworkAvailable(yourcontext)){
             item.setActionView(null);
             Snackbar.make(yourview,"No internet contection.",Snackbar.LENGTH_LONG).setAction("Turn on", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        defenicoes = new Intent(Settings.ACTION_WIFI_SETTINGS);
                        startActivity(defenicoes);
                    }
                }).show();;
            }
            break;
    }
    return super.onOptionsItemSelected(item);
}

public boolean isNetworkAvailable(final Context context) {
    final ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
    return connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isConnected();
}

这样做:

 public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()){
        case android.R.id.yoursearchviewid:
            if(!isNetworkAvailable(yourcontext)){
             item.setActionView(null);
             Snackbar.make(yourview,"No internet contection.",Snackbar.LENGTH_LONG).setAction("Turn on", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        defenicoes = new Intent(Settings.ACTION_WIFI_SETTINGS);
                        startActivity(defenicoes);
                    }
                }).show();;
            }
            break;
    }
    return super.onOptionsItemSelected(item);
}

public boolean isNetworkAvailable(final Context context) {
    final ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE));
    return connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isConnected();
}

看来这可能对你有用。在搜索视图上设置onClickListener,然后在click方法中调用clearFocus()Hi@HB3.14,谢谢您的回复。我试图在onClick(视图v)中调用clearFocus(),但SearchView的文本输入正在打开。我需要阻止打开文本输入字段。如果从onCreate方法中调用布尔方法,则您可以通过调用view在创建活动时禁用searchView。setInputType(InputType.TYPE_NULL)请参见Sorry@HB3.14,它不是我要找的。我不想显示搜索框(编辑文本):看来这可能对你有用。在搜索视图上设置onClickListener,然后在click方法中调用clearFocus()Hi@HB3.14,谢谢您的回复。我试图在onClick(视图v)中调用clearFocus(),但SearchView的文本输入正在打开。我需要阻止打开文本输入字段。如果从onCreate方法中调用布尔方法,则您可以通过调用view在创建活动时禁用searchView。setInputType(InputType.TYPE_NULL)请参见Sorry@HB3.14,它不是我要找的。我不想显示搜索框(编辑文本):