Java 在自定义对话框中显示EditText中的软键盘会导致UI暂时停止响应

Java 在自定义对话框中显示EditText中的软键盘会导致UI暂时停止响应,java,android,Java,Android,我的申请有问题。当我在自定义对话框中单击编辑文本时,软键盘会出现,但在显示/隐藏后,UI会在2-3秒内无响应。 如果我等到2-3秒后,它就会平稳运行 为什么键盘会导致我的应用程序运行缓慢 //CustomDialog Class pubilc CustomDialog extends Dialog implements OnClickListener{ private Context context; private Activity activity; private

我的申请有问题。当我在自定义对话框中单击编辑文本时,软键盘会出现,但在显示/隐藏后,UI会在2-3秒内无响应。 如果我等到2-3秒后,它就会平稳运行

为什么键盘会导致我的应用程序运行缓慢

//CustomDialog Class
pubilc CustomDialog extends Dialog implements OnClickListener{
    private Context context;
    private Activity activity;
    private Button button1, button2;
    private EditText editText

public CustomDialog(Context context, Activity activity){
    this.context = context;
    this.activity = activity;
    this.button1 = null;        
    this.button2 = null;        
    this.editText = null;        
}

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 

    this.setContentView(R.layout.custom_dialog_layout);
    this.editText = (EditText)findViewById(R.id.custom_edittext);               
    button1 = (Button)findViewById(R.id.confirm_button);
    button1.setOnClickListener(this);
    button2 = (Button)findViewById(R.id.cancel_button);
    button2.setOnClickListener(this);
}

public void onClick(View view){
    if(view == this.confirmButton){
        activity.doSomething();
    }else if(view == this.cancelButton){
        this.dismiss();
    }
}

}



//Main Activity
public Main extends Dialog implements OnClickListener{
    private Button button;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
        setContentView(R.layout.main); 

        this.bindResources();
    }

    private void bindResources(){
        this.button = (Button)this.findViewById(R.id.main_button);
        this.button.setOnClickListener(this);
    }

    public void onClick(View view){
        if(view == this.button){
            CustomDialog dialog = new CustomDialog(this, this);
            dialog.show();
        }
    }
}

//CustomDialog XML



谢谢。

这是在真实设备上还是在模拟器上?因为仿真器非常慢。仅在您的应用程序或所有应用程序中?您应该发布用于自定义对话框的代码。很可能您正在UI线程上执行处理器密集型/长时间运行的操作。另外一点是,我在这个应用程序的另一个页面上使用此代码并没有这个问题。只有在一个特定的页面上有这个问题我也有同样的问题,我认为当键盘显示时,活动启动UI calcul来调整大小
<TextView   android:id="@+id/custom_message"
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content" 
        android:textStyle="bold"
        android:layout_centerHorizontal="true"
        android:text="@string/custom_message"
        android:textSize="20px"
        android:paddingTop="5px"
        android:textColor="#FFFFFF"/> 

<EditText   android:id="@+id/custom_edittext"
                android:layout_height="wrap_content"
                android:layout_marginTop="10px"
                android:layout_width="250px"
                android:layout_centerHorizontal="true"
                android:layout_below="@id/custom_message"
                android:digits="0123456789."
                android:inputType="phone"
                android:singleLine="true"
                android:maxLength="20"/>                

<RelativeLayout android:id="@+id/button_group"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_horizontal"
        android:layout_marginTop="5px"
        android:layout_below="@id/custom_edittext">

   <Button  android:id="@+id/confirm_button"
                android:text="@string/confirm_button_label"
                android:layout_width="100px"
                android:textSize="15px"
                android:textColor="#000000"
                android:textStyle="bold"
                android:layout_height="wrap_content"/>          

    <Button     android:id="@+id/cancel_button"
                android:text="@string/cancel_button_label"
                android:layout_width="100px"
                android:textSize="15px"
                android:textColor="#000000"
                android:textStyle="bold"
                android:layout_toRightOf="@id/confirm_button"
                android:layout_height="wrap_content"/>
</RelativeLayout>