【问题标题】:Can you help me with a listener?你能帮我找一个听众吗?
【发布时间】:2014-12-03 13:17:30
【问题描述】:

我有showDiaglog的功能。 我只是想,当用户点击复选框时,显示的diaglog 和微调器也出现了,但我的监听器有问题。每次我打开设置,弹出窗口都会出现两次。

首先是因为微调器的侦听器,然后是因为检查了我的一个设置。 我保存该设置中的所有更改。

你能帮帮我吗?

selectLanguage
                .setOnItemSelectedListener(new OnItemSelectedListener() {

                    @Override
                    public void onItemSelected(AdapterView<?> arg0,
                            View arg1, int position, long arg3) {
                        // TODO Auto-generated method stub

                        saveSettingan(Key_Select, position);

                        if (position == 0) {
                            setDefaultLocal();
                        } else {
                            setLocal("in");
                        }
                        showDialog();
                    }

                    @Override
                    public void onNothingSelected(AdapterView<?> arg0) {
                        // TODO Auto-generated method stub

                    }
                });

还有这个

case R.id.checkAcak:
            saveSettingan(Key_Acak, isChecked);
            showDialog();
            break;

【问题讨论】:

    标签: android onclicklistener onitemclicklistener


    【解决方案1】:

    您可以存储一个布尔值来记住对话框的可见性。您的节目对话框应包括以下内容:

    if (isDialogVisible) 
        return;
    
    isDialogVisible = true;
    

    然后您设置一个关闭侦听器以将 isDialogVisible 设置为 false。

    【讨论】:

    • 我使用了它,但它仍然显示弹出窗口。在保存设置中,我将其保存在 sharedpreference 中。关于 key_acak,甚至语言,当在函数 onCheckedChange() 中加载时,加载的值之一是在第一次打开设置时显示弹出窗口。我仍然不知道解决这个问题的逻辑。对不起我的英语不好
    猜你喜欢
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    • 2017-04-08
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多