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