Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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
Java 对话框启动时,不允许返回onKeydown_Java_Android_Dialog_Onkeydown - Fatal编程技术网

Java 对话框启动时,不允许返回onKeydown

Java 对话框启动时,不允许返回onKeydown,java,android,dialog,onkeydown,Java,Android,Dialog,Onkeydown,我已经创建了一个简单的对话框,当我点击按钮时会显示出来 一切正常 但我希望onKeydown不允许回去 这是我的活动课 public class MainActivity extends Activity implements OnClickListener { private Button showdialog; private Dialog dialog; @Override protected void onCreate(Bundle savedInst

我已经创建了一个简单的对话框,当我点击按钮时会显示出来 一切正常 但我希望onKeydown不允许回去

这是我的活动课

public class MainActivity extends Activity implements OnClickListener {

    private Button showdialog;
    private Dialog dialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 
        showdialog=(Button)findViewById(R.id.showdialog);
        showdialog.setOnClickListener(this);
    }

    @Override
    public void onClick(View arg0) {
        dialog = new Dialog(MainActivity.this,
                android.R.style.Theme_Translucent);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setCancelable(true);
        dialog.setContentView(R.layout.dialog);
        dialog.show();  
    } 
}
这就是活动xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000424"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/showdialog"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="36dp"
        android:text="showdialog" />

</RelativeLayout>

这是xml对话框

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="300dp"
        android:layout_marginTop="200dp"
        android:text="this is the dialog"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="100sp" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >

        <requestFocus />
    </EditText>

</LinearLayout>

看看:


问题是我不希望onBackPressed()用于这个类,我希望它用于对话框活动对话框正在工作,但在对话框启动后,如果我单击向下键,对话框将消失
public class MainActivity extends Activity implements OnClickListener {

    private Button showdialog;
    private Dialog dialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 
        showdialog=(Button)findViewById(R.id.showdialog);
        showdialog.setOnClickListener(this);
    }

    @Override
    public void onClick(View arg0) {
        dialog = new Dialog(MainActivity.this,
                android.R.style.Theme_Translucent);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setCancelable(true);
        dialog.setCanceledOnTouchOutside(false);
        dialog.setContentView(R.layout.dialog);
        dialog.setOnKeyListener(new Dialog.OnKeyListener() {

        @Override
        public boolean onKey(DialogInterface arg0, int keyCode,
                KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_BACK) {
                    //DO NOTHING
                }
                return true;
            }
        });
        dialog.show();  
    } 
}