Java Android正确使用布尔值
在android中使用Java Android正确使用布尔值,java,android,Java,Android,在android中使用booleans时,我目前遇到了一个奇怪的问题。我首先定义布尔值,但当我使用它时,它不会返回正确的值。以下面的代码为例: public class Prompt3 extends Activity { boolean item1connect; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSta
booleans
时,我目前遇到了一个奇怪的问题。我首先定义布尔值,但当我使用它时,它不会返回正确的值。以下面的代码为例:
public class Prompt3 extends Activity {
boolean item1connect;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_prompt3);
touchLayout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN){
if (Math.abs(startcoordinatesX - itemvar1x)<touchAllowance && Math.abs(startcoordinatesY - itemvar1y)<touchAllowance) {
item1connect = true;
}
if (item1connect = true) {
indic1.setBackground(getResources().getDrawable(R.drawable.ring_filled_standard));
}
}
}
});
}
同时绕过布尔值
项1连接
,代码工作正常。如何在包含布尔值的同时修复此问题
提前感谢您正在做的是告诉itemiconnect将其值设置为true
。使用=
操作符比较项目是真是假,或者简单地将itemiconnect
放入括号中,它将为您检查
编辑:
代码上写着什么
if (item1connect = true) {
indic1.setBackground(getResources().getDrawable(R.drawable.ring_filled_standard));
}
您可以将其更改为比较器
if (item1connect == true) {
indic1.setBackground(getResources().getDrawable(R.drawable.ring_filled_standard));
}
或者更好的方法是使用隐含的真正功能
if (item1connect) {
indic1.setBackground(getResources().getDrawable(R.drawable.ring_filled_standard));
}
Java允许您在“if”语句中简单地调用布尔值,因为它表示真值或假值。您所做的是告诉itemiconnect将其值设置为true
。使用=
操作符比较项目是真是假,或者简单地将itemiconnect
放入括号中,它将为您检查
编辑:
代码上写着什么
if (item1connect = true) {
indic1.setBackground(getResources().getDrawable(R.drawable.ring_filled_standard));
}
您可以将其更改为比较器
if (item1connect == true) {
indic1.setBackground(getResources().getDrawable(R.drawable.ring_filled_standard));
}
或者更好的方法是使用隐含的真正功能
if (item1connect) {
indic1.setBackground(getResources().getDrawable(R.drawable.ring_filled_standard));
}
Java允许您在“if”语句中简单地调用布尔值,因为它表示真值或假值。您编写的
if (item1connect = true) {...}
这是作业,不是比较。此赋值的返回值为true
,因此它看起来不起作用。只要写
if (item1connect == true) {...}
甚至,简单地说
if (item1connect) {...}
你写的
if (item1connect = true) {...}
这是作业,不是比较。此赋值的返回值为true
,因此它看起来不起作用。只要写
if (item1connect == true) {...}
甚至,简单地说
if (item1connect) {...}
你错过了一个“==”!!如果(item1connect=true)
,您正在更改ifError比较语句中的值。如果(item1connect==true)使用if(item1connect==true)
来代替。另外,以任何方式使用item1connect==true都是多余的。您可以将item1connect
放在if
语句中。您会错过一个“==”!!如果(item1connect=true)
,您正在更改ifError比较语句中的值。如果(item1connect==true)使用if(item1connect==true)
来代替。另外,以任何方式使用item1connect==true都是多余的。您可以将item1connect
放在if
语句中。当我尝试此操作时,我得到错误“Syntax error on token”==”,invalid AssignmentOperator“@user3616949 useif(item1connect)
对不起,我的意思是它在我的第二条语句中起作用,但在我的第一条语句中我写了if(…){item1connect==true;}
,那是我出错的地方哦,等等,我是不是把第一个留在原处了<代码>如果(…){item1connect=true;}
更改了措辞以提高可读性。仅在指定的第二条语句上使用compare。您希望它在第一条语句上赋值。当我尝试此操作时,我得到错误“Syntax error on token”==,invalid AssignmentOperator“@user3616949 useif(item1connect)
对不起,我的意思是它在我的第二条语句上起作用,但在我的第一条语句中,我写了if(…){item1connect==true;}
,这就是我得到错误的地方等等,我是不是让第一个保持原样<代码>如果(…){item1connect=true;}更改了措辞以提高可读性。仅在指定的第二条语句上使用compare。您希望它在第一条语句中赋值。