我想在if条件中使用我的PlayerClick(视图v)。但它给了我null异常。它必须检索按钮ID。
//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循环 即时通讯使用android:onclick =" PlayerClick"对于XML中的四个按钮
答案 0 :(得分:0)
我想在if条件中使用我的PlayerClick(视图v)。但它 给我null异常。
因为您正在将null
传递给PlayerClick
方法。
要使其正常工作,您应该传递按钮视图,该视图由用户按下PlayerClick
方法中的参数。
答案 1 :(得分:0)
findViewById(android.R.id.yourlayout)
在PlayerClick()
喜欢
PlayerClick(findViewById(android.R.id.yourlayout))
答案 2 :(得分:0)
做
button.setOnClickListener(this);
让您的活动实施OnClickListener
当您点击(查看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;
}
}
答案 3 :(得分:0)
public int mPlayerClick;
public void PlayerClick(View v) {
int viewId = v.getId();
if (viewId == R.id.btnone) { mPlayerClick = -1; }
if (viewId == R.id.btntwo) { mPlayerClick = -1; }
else mPlayerClick = 1;
}
然后。
while (gameLoop > 0){
while(mPlayerClick != 1){
...
我不明白你想要做什么,所以这可能是错的。只有当用户点击不某个按钮mPlayerClick
或{{1}时,1
才会设置为btnone
(并停止循环) }}
当然,所有按钮都需要在点击时调用btntwo
。