我创建了SwitchCompat并添加了android:onCheckedChanged。一切都很好,但是Android用描述将这个属性标记为警告。
未知属性android:onCheckedChanged。
AppCompatSpinner和android:onItemSelected的情况也是一样。
为什么Android会显示这个警告呢?我的Android版本是3.5.1
发布于 2019-10-23 11:17:06
这是因为SwitchCompat实际上没有这样的属性(参见文档),因此不能在XML中分配侦听器。尝试实现onClickListener,或者在XML之外分配OnCheckedChanged侦听器,例如:
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对象中获得切换按钮。
发布于 2019-10-16 11:22:14
下面是我的CheckBox的代码--尝试在java文件中这样做--记住调用复选框或wich的变量
您的问题是,由于不识别XML中的属性,请尝试在编码端对ifchecked等进行硬编码,正如您所发现的那样调用该属性,但如果您理解我的意思,则它是一个“自定义”属性。
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();https://stackoverflow.com/questions/58411976
复制相似问题