2013-05-01 21 views
-1

我有下面一段代碼的一個問題:如何讓buttonId被壓在Android的

OnClickListener button_listener = new View.OnClickListener() 
     { 
      @Override 
      public void onClick(View v) { 
       ImageButton ibutton = (ImageButton) v; 
       if(player == 0) 
       { 

        ibutton.setClickable(false); 
        ibutton.setImageResource(R.drawable.crossnew); 
        //Toast.makeText(getApplicationContext(),v.getText(), Toast.LENGTH_SHORT).show(); 
        player = 1; 
       } 

       else if(player == 1) 
       { 
        ibutton.setClickable(false); 
        ibutton.setImageResource(R.drawable.zeronew); 
        player = 0; 
       } 
      } 

     }; 

如何讓buttonId按下; 幫我請

+2

onClickClick()方法中的v.getId()。 – 2013-05-01 07:24:30

+0

Toast.makeText(getApplicationContext(),v.getId(),Toast.LENGTH_SHORT).show();是活躍的,它成爲假 – 2013-05-01 07:30:55

+0

Toast.makeText()是重載: 1)makeText(上下文語境,INT渣油,INT持續時間) 2)makeText(上下文語境,CharSequence的文本,INT持續時間) 不小心使用版本1),它將資源ID作爲第二個參數(並且沒有給定ID的字符串) 請檢查我的更新回答 並僅供參考http://developer.android.com/reference/android/widget/ Toast.html – 2013-05-01 10:56:59

回答

4
OnClickListener button_listener = new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) { 
      Toast.makeText(getApplicationContext(), Integer.toString(v.getId()), Toast.LENGTH_SHORT) 
      .show(); 
     } 
    }; 
+0

幹得好先生!當我看到你的答案時,輸入了一半的內容:P – 2013-05-01 08:06:17

+0

更新了答案,@Pandia Vinra與Toast.makeText()做了一個錯誤,v.getId()工作正常 – 2013-05-01 11:01:39

0
if(v.getid() == R.id.testButton){ 
    Log.e("--->","click on testButton"); 
} 
0

在你上點擊使用開關的情況。

@Override 
public void onClick(View v) { 
switch(v.getid()) // get id 
{ 
    case R.id.button1 : 
     // button 1 clicked 
     break; 
    case R.id.button2 : 
      // button 2 clicked 
     break; 
} 
} 

編輯:

在您的留言顯示敬酒你正在使用的應用程序上下文。

使用活動上下文來代替應用程序上下文。通過commonsware

When to call activity context OR application context?

0

按鈕點擊功能檢查答案只需使用

 @Override 
     public void onClick(View v) { 

         int id = v.getId(); 
      } 

這將成爲你的目的。