我在Android应用中有一个对话框,我不希望用户能够取消.使用.setCancelable(false)禁用后退按钮,但按下搜索按钮仍会取消对话框.我看到this question告诉我应该包括
public boolean onSearchRequested() { return false;}
但我仍然可以使用搜索按钮取消对话框.这是我的代码:
public class TestActivity extends Activity { /** Called when the activity is first created. */ @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); showDialog(0); } public boolean onSearchRequested() { return false; } protected Dialog onCreateDialog(int ID) { final AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Message") .setCancelable(false) .setPositivebutton("Ok", new DialogInterface.OnClickListener() { public voID onClick(DialogInterface dialog, int ID) { // nothing } }); return builder.create(); }}
解决方法:
@Benh您需要使用此代码为Dialog的Key Listener设置
builder.setonKeyListener(keyListener);
在活动类中添加以下代码
OnKeyListener keyListener=new DialogInterface.OnKeyListener() { @OverrIDe public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_SEARCH && event.getRepeatCount() == 0) { return true; //we stop begin cancel of dialog or Progressbar } return false; }};
在你的对话框中试试这个以上的东西,希望对你有用.
总结以上是内存溢出为你收集整理的禁用Android中的搜索按钮全部内容,希望文章能够帮你解决禁用Android中的搜索按钮所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)