Java 如何在android中单击按钮后锁定微调器

Java 如何在android中单击按钮后锁定微调器,java,android,dynamic,spinner,Java,Android,Dynamic,Spinner,如何防止用户在按下按钮等事件后更改在微调器中选择的值? 这就像从微调器中选择所需值后,用户将按下按钮,之后他们将不允许看到微调器中的值,但顶部值除外,即所选值,因此不会对所选值进行更改 更新:-是的,微调器也会在按下该相同按钮时动态创建,因此它应该只锁定以前创建的微调器,而不是新的微调器。 动态创建布局的代码,该布局包含微调器,以及编辑文本和按钮:- 您需要创建一个变量(可能是布尔标志=true) 在按钮上,单击更改为flag=false 并在监听器内部对微调器检查标志是否为true或false

如何防止用户在按下按钮等事件后更改在
微调器中选择的值?

这就像从
微调器
中选择所需值后,用户将按下
按钮
,之后他们将不允许看到
微调器
中的值,但顶部值除外,即所选值,因此不会对所选值进行更改

更新:-是的,
微调器也会在按下该
相同按钮时动态创建,因此它应该只锁定以前创建的微调器,而不是新的微调器。

动态创建布局的代码,该布局包含微调器,以及编辑文本按钮:-


您需要创建一个变量(可能是
布尔标志=true

在按钮上,单击更改为
flag=false

并在监听器内部对微调器检查标志是否为true或false

示例

//微调器内部侦听器

if(flag){
//do task
}else{
//restrict the task or don't do anything or display message
}
更新的问题


然后应该使用disable()方法。喷丝头1.disable()或喷丝头2.disable()等等。

只需单击按钮禁用喷丝头即可


spinner.setEnabled(false)

在onClick方法中,只需将可见性设置为GONE即可删除视图,如下所示:

View.OnClickListener addListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        final RelativeLayout newView = (RelativeLayout) getLayoutInflater().inflate(R.layout.product_row_detail, null);

        newView.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

        ImageButton btnRemove = (ImageButton) newView.findViewById(R.id.btnRemove);
        btnRemove.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                newView.setVisibility(View.GONE);  // remove (hide) your view
            }
        });

        container.addView(newView);
newView.setVIsibility(View.VISIBLE);
your_spinner.setVisibility(View.GONE);  // to remove (hide)
your_spinner.setVisibility(View.VISIBLE);  // to make it visible
要再次启用,可以将其可见性设置为可见,如下所示:

View.OnClickListener addListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        final RelativeLayout newView = (RelativeLayout) getLayoutInflater().inflate(R.layout.product_row_detail, null);

        newView.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

        ImageButton btnRemove = (ImageButton) newView.findViewById(R.id.btnRemove);
        btnRemove.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                newView.setVisibility(View.GONE);  // remove (hide) your view
            }
        });

        container.addView(newView);
newView.setVIsibility(View.VISIBLE);
your_spinner.setVisibility(View.GONE);  // to remove (hide)
your_spinner.setVisibility(View.VISIBLE);  // to make it visible
也可以只显示/隐藏微调器,如下所示:

View.OnClickListener addListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        final RelativeLayout newView = (RelativeLayout) getLayoutInflater().inflate(R.layout.product_row_detail, null);

        newView.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

        ImageButton btnRemove = (ImageButton) newView.findViewById(R.id.btnRemove);
        btnRemove.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                newView.setVisibility(View.GONE);  // remove (hide) your view
            }
        });

        container.addView(newView);
newView.setVIsibility(View.VISIBLE);
your_spinner.setVisibility(View.GONE);  // to remove (hide)
your_spinner.setVisibility(View.VISIBLE);  // to make it visible
如果只想禁用微调器,请执行以下操作:

your_spinner.setEnabled(false);

希望有帮助。

:-)保持else块为空,simpleAnd在if块中,执行您需要的任务want@Amit或者使用PrivatMamtoraThis指示的禁用方法将删除整个新布局的可见性,对吗?是,它将删除整个布局(包括其子视图)的可见性,该布局包含
微调器
,以及
编辑文本
按钮
,但我不想禁用微调器以外的任何内容。您只需隐藏微调器或禁用它即可。