首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未知属性onItemSelected/onCheckedChanged

未知属性onItemSelected/onCheckedChanged
EN

Stack Overflow用户
提问于 2019-10-16 11:13:11
回答 2查看 1.6K关注 0票数 3

我创建了SwitchCompat并添加了android:onCheckedChanged。一切都很好,但是Android用描述将这个属性标记为警告。

未知属性android:onCheckedChanged。

AppCompatSpinner和android:onItemSelected的情况也是一样。

为什么Android会显示这个警告呢?我的Android版本是3.5.1

有警告的截图

EN

回答 2

Stack Overflow用户

发布于 2019-10-23 11:17:06

这是因为SwitchCompat实际上没有这样的属性(参见文档),因此不能在XML中分配侦听器。尝试实现onClickListener,或者在XML之外分配OnCheckedChanged侦听器,例如:

代码语言:javascript
复制
  final SwitchCompat switchButton = (SwitchCompat) view.findViewById(R.id.switch_button);
  switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
      //do stuff
    }
  });

编辑:,您也可以通过调用直接返回SwitchButton的binding.switch_button,从dataBinding对象中获得切换按钮。

票数 3
EN

Stack Overflow用户

发布于 2019-10-16 11:22:14

下面是我的CheckBox的代码--尝试在java文件中这样做--记住调用复选框或wich的变量

您的问题是,由于不识别XML中的属性,请尝试在编码端对ifchecked等进行硬编码,正如您所发现的那样调用该属性,但如果您理解我的意思,则它是一个“自定义”属性。

代码语言:javascript
复制
 CheckBox chk=findViewById(R.id.chk1);
            if (chk.isChecked()) {
                Uri.Builder builder=new Uri.Builder();
                builder.scheme("https")
                        .authority("www.smartpractice.co.za")
                        .appendPath("files-upload-ruben.asp")
                        .appendQueryParameter("MyForm", "Yes")
                        .appendQueryParameter("ClientID", clientId)
                        .appendQueryParameter("Username", email)
                        .appendQueryParameter("Pwd", pwd)
                        .appendQueryParameter("Category", Item)
                        .appendQueryParameter("ClientName", Item2)
                        .appendQueryParameter("NoEmail", "Yes");
                myURL=builder.build().toString();
            } else {
                Uri.Builder builder4=new Uri.Builder();
                builder4.scheme("https")
                        .authority("URL)
                        .appendPath("CheckBox chk=findViewById(R.id.chk1);
            if (chk.isChecked()) {
                Uri.Builder builder=new Uri.Builder();
                builder.scheme("https")
                        .authority("www.FakeSite.co.za")
                        .appendPath("ServerFile.asp")
                        .appendQueryParameter("MyForm", "Yes")
                        .appendQueryParameter("ClientID", clientId)
                        .appendQueryParameter("Username", email)
                        .appendQueryParameter("Pwd", pwd)
                        .appendQueryParameter("Category", Item)
                        .appendQueryParameter("ClientName", Item2)
                        .appendQueryParameter("NoEmail", "Yes");
                myURL=builder.build().toString();
            } else {
                Uri.Builder builder4=new Uri.Builder();
                builder4.scheme("https")
                        .authority("www.fakeSite.co.za")
                        .appendPath("ServerFile.asp")
                        .appendQueryParameter("MyForm", "Yes")
                        .appendQueryParameter("ClientID", clientId)
                        .appendQueryParameter("Username", email)
                        .appendQueryParameter("Pwd", pwd)
                        .appendQueryParameter("Category", Item)
                        .appendQueryParameter("ClientName", Item2)
                        .appendQueryParameter("NoEmail", "");
                myURL=builder4.build().toString();")
                        .appendQueryParameter("MyForm", "Yes")
                        .appendQueryParameter("ClientID", clientId)
                        .appendQueryParameter("Username", email)
                        .appendQueryParameter("Pwd", pwd)
                    .appendQueryParameter("Category", Item)
                    .appendQueryParameter("ClientName", Item2)
                    .appendQueryParameter("NoEmail", "");
            myURL=builder4.build().toString();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58411976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档