Android 如何在OnCheckedChangeListener.onCheckedChanged中执行其他代码之前显示复选框的更改状态

Android 如何在OnCheckedChangeListener.onCheckedChanged中执行其他代码之前显示复选框的更改状态,android,Android,我需要在单击复选框后添加新视图。我想要的是显示复选框的更改状态,然后才显示新视图,但现在当我单击复选框时,ui会停止一秒钟或几秒钟,然后同时显示新视图和复选框显示为选中状态 我的代码非常简单 { checkbox = (CheckBox) findViewById(R.id.select_param_value_checkbox); if (checkbox != null) { checkbox.setOnCheckedChangeListener(new OnCheckedCh

我需要在单击复选框后添加新视图。我想要的是显示复选框的更改状态,然后才显示新视图,但现在当我单击复选框时,ui会停止一秒钟或几秒钟,然后同时显示新视图和复选框显示为选中状态

我的代码非常简单

{

checkbox = (CheckBox) findViewById(R.id.select_param_value_checkbox);

if (checkbox != null) {

    checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

            onCheckboxChanged(isChecked);

        }

    });

}
}

protected void onCheckboxChanged(boolean isChecked) {
    //this listener is adding in constructor and creates in view where i want to add child
    on_change_listener.onFilterParamValueChanged(this);
}
该侦听器的代码是:

public void onFilterParamValueChanged(MyClass obj) {

    addView(new MyView(getContext(), obj.getTitle()));
}
MyView的代码:

class MyView extends LinearLayout{

    private TextView title;

    public MyView(Context context, String text) {
        super(context);
        ViewGroup.inflate(context, R.layout.my_view, this);
        title = (TextView) findViewById(R.id.selected_filter_param_value_title);
        if (title != null) {
            title.setText(filter_value_data.toString());
        }
    }

}
UPD 对我来说有效的解决方案在下面的评论中,感谢@Diljeet。我将addView设置为Runnable

public void onFilterParamValueChanged(MyClass obj) {
    new Handler().post(new Runnable(){
        public void run() {
            addView(new MyView(getContext(), obj.getTitle()));
        }
    });

}    

在复选框单击或复选框更改事件上执行了什么代码?需要查看代码…无需it cnt帮助…请显示您的代码。作为一种快速解决方法,我建议使用一些动画来添加视图和使用AnimationListener。请将代码粘贴到此处,您可以尝试handler.post(new Runnable(){…add views here});这应该是你想要的Hanks@Diljeet,这正是我想要的。