Java 如何在条件中使用onClick函数或在函数中调用它?安卓
我想在if条件中使用我的PlayerClick(视图v)。但它给了我一个空的异常。它必须检索按钮idJava 如何在条件中使用onClick函数或在函数中调用它?安卓,java,android,android-studio,Java,Android,Android Studio,我想在if条件中使用我的PlayerClick(视图v)。但它给了我一个空的异常。它必须检索按钮id //Main Code where i wan to call while (gameLoop > 0){ while(PlayerClick(null) != 1){ if( WinnerCheck(currentUser.getSymbolValue()) == 1 || WinnerCheck(currentUser.getSymbolVa
//Main Code where i wan to call
while (gameLoop > 0){
while(PlayerClick(null) != 1){
if( WinnerCheck(currentUser.getSymbolValue()) == 1 || WinnerCheck(currentUser.getSymbolValue()) == 0 ){
return currentUser;
}
if (gameLoop % 2 == 0)
currentUser = me;
else
currentUser = opponent;
}
gameLoop--;
}
函数在这里
public int PlayerClick(View v) {
//
switch(v.getId()){
case R.id.btnone:
return -1;
case R.id.btntwo:
return -1;
}
return 1;
}
这样做的目的只是在单击右键时暂停一个while循环
im使用android:onclick=“PlayerClick”作为四个XML按钮
我想在if条件中使用我的PlayerClick(视图v)。但是它
给我空的异常
因为您正在将null
传递给PlayerClick
方法
要使其正常工作,您应该将用户按下的按钮视图作为参数传递到PlayerClick
方法中。findViewById(android.R.id.yourlayout)
将其传递到PlayerClick()中
像
PlayerClick(findViewById(android.R.id.yourlayout))
Do
button.setOnClickListener(此)代码>
让您的活动在ClickListener上实现
当你点击活动(视图v)时,按如下操作
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.btn_nativex:
PlayerClick(v);
break;
default:
break;
}
}
然后呢
while (gameLoop > 0){
while(mPlayerClick != 1){
...
我不明白你想做什么,所以这可能是错误的。这样,只有当用户单击btnone
或btntwo
中的某个按钮时,mPlayerClick
才会设置为1
(并停止循环)
当然,您的所有按钮都需要在单击时调用PlayerClick()
。我尝试了PlayerClick(this.v);虽然我想不起来,但它没有用anymore@SlimHarry:使用PlayerClick(this.v)时遇到的问题代码>?语法错误!我不知道该把它当作什么来传递parameter@SlimHarry:在类中使用全局变量作为私有视图代码>,默认情况下,将第一个按钮指定给视图
作为视图=您的第一个按钮
,然后在按钮上单击更改视图
,以单击方法参数作为视图=v
。然后在PlayerClick方法中传递视图
仍然不起作用它传递了第一个buttion私有视图功能未检测到其他用户您现在可以获取视图请指定您的问题使用android:onclick=“PlayerClick”以XML格式显示四个按钮
while (gameLoop > 0){
while(mPlayerClick != 1){
...