2015-01-09 35 views
1

我想在if条件中使用我的PlayerClick(view v)。但它给了我空例外。它必须检索按钮ID。如何在条件中使用onClick函数或在函数中调用它? Android

//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 IM:的onclick = “PlayerClick” 四个按钮XML

回答

0

我想在if条件中使用我的PlayerClick(view v)。但它 给了我空例外。

因为你通过nullPlayerClick方法。

得到它的工作,你应该通过它由用户按下作为参数PlayerClick方法按钮来查看。

+0

我试过PlayerClick(this.v);它不是有用的,虽然不能再想起它 – Fazal

+0

@SlimHarry:你使用'PlayerClick(this.v)获得什么问题; '? –

+0

**语法错误**!我不知道该怎么传递它作为参数 – Fazal

0

findViewById(android.R.id.yourlayout)在PlayerClick()将此

PlayerClick(findViewById(android.R.id.yourlayout))

+0

im检测四个按钮。它不工作 – Fazal

+0

你现在可以看到这个视图请指定你的问题 –

+0

即时通讯使用android:onclick =“PlayerClick”用于XML中的四个按钮 – Fazal

0

button.setOnClickListener(this);

让您的活动实施OnClickListener 当你得到的onClick(视图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; 
     } 
    } 
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){ 
    ... 

我不明白你想要做什么,所以这可能是错误的。只有当用户点击而不是btnonebtntwo时,这种方式mPlayerClick将被设置为1(并停止您的循环)。

当然,所有的按钮都需要调用PlayerClick()上点击。

相关问题