2013-10-14 86 views
0

我對Android的遊戲項目,具有源代碼是這樣的:如何使開關和案例工作?

package com.example.fun; 

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.View; 
import android.widget.TextView; 
import android.widget.Button; 



public class DogActivity extends Activity { 
     Button buttonA; 
     Button buttonB; 
     Button buttonC; 
     Button buttonD; 
     Button buttonE; 
     Button buttonF; 
     Button buttonG; 
     Button buttonH; 
     Button buttonI; 
     Button buttonJ; 
     Button buttonK; 
     Button buttonL; 
     Button buttonM; 
     Button buttonN; 
     Button buttonO; 
     Button buttonP; 
     Button buttonQ; 
     Button buttonR; 
     Button buttonS; 
     Button buttonT; 
     Button buttonU; 
     Button buttonV; 
     Button buttonX; 
     Button buttonW; 
     Button buttonY; 
     Button buttonZ; 
     Button next; 
     Intent i; 
     TextView txtD; 
     TextView txtO; 
     TextView txtG; 
     int life=3; 
     TextView nyaw; 
     TextView nyaw2; 
     TextView nyaw3; 
     TextView kesempatan; 
     boolean l1,l2,l3; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_dog); 
     buttonA = (Button)findViewById(R.id.buttonAbout); 
     buttonB = (Button)findViewById(R.id.buttonhelp); 
     buttonC = (Button)findViewById(R.id.buttonc); 
     buttonD = (Button)findViewById(R.id.buttond); 
     buttonE = (Button)findViewById(R.id.buttonE); 
     buttonF = (Button)findViewById(R.id.buttonf); 
     buttonG = (Button)findViewById(R.id.buttong); 
     buttonH = (Button)findViewById(R.id.buttonh); 
     buttonI = (Button)findViewById(R.id.buttoni); 
     buttonJ = (Button)findViewById(R.id.buttonj); 
     buttonK = (Button)findViewById(R.id.buttonk); 
     buttonL = (Button)findViewById(R.id.buttonl); 
     buttonM = (Button)findViewById(R.id.buttonm); 
     buttonN = (Button)findViewById(R.id.buttonn); 
     buttonO = (Button)findViewById(R.id.buttono); 
     buttonP = (Button)findViewById(R.id.buttonp); 
     buttonQ = (Button)findViewById(R.id.buttonq); 
     buttonR = (Button)findViewById(R.id.buttonr); 
     buttonS = (Button)findViewById(R.id.buttons); 
     buttonT = (Button)findViewById(R.id.buttont); 
     buttonU = (Button)findViewById(R.id.buttonu); 
     buttonV = (Button)findViewById(R.id.buttonv); 
     buttonW = (Button)findViewById(R.id.buttonw); 
     buttonX = (Button)findViewById(R.id.buttonx); 
     buttonY = (Button)findViewById(R.id.buttony); 
     buttonZ = (Button)findViewById(R.id.buttonz); 
     next = (Button)findViewById(R.id.buttonnext); 
     txtD = (TextView)findViewById(R.id.textViewD); 
     txtO = (TextView)findViewById(R.id.textViewO); 
     txtG = (TextView)findViewById(R.id.textViewG); 
     nyaw = (TextView)findViewById(R.id.nyawa); 
     nyaw2 = (TextView)findViewById(R.id.nyawa2); 
     nyaw3 = (TextView)findViewById(R.id.nyawa3); 
     buttonA.setOnClickListener(myOnlyhandler); 
     buttonB.setOnClickListener(myOnlyhandler); 
     buttonC.setOnClickListener(myOnlyhandler); 
     buttonD.setOnClickListener(myOnlyhandler); 
     buttonE.setOnClickListener(myOnlyhandler); 
     buttonF.setOnClickListener(myOnlyhandler); 
     buttonG.setOnClickListener(myOnlyhandler); 
     buttonH.setOnClickListener(myOnlyhandler); 
     buttonI.setOnClickListener(myOnlyhandler); 
     buttonJ.setOnClickListener(myOnlyhandler); 
     buttonK.setOnClickListener(myOnlyhandler); 
     buttonL.setOnClickListener(myOnlyhandler); 
     buttonM.setOnClickListener(myOnlyhandler); 
     buttonN.setOnClickListener(myOnlyhandler); 
     buttonO.setOnClickListener(myOnlyhandler); 
     buttonP.setOnClickListener(myOnlyhandler); 
     buttonQ.setOnClickListener(myOnlyhandler); 
     buttonR.setOnClickListener(myOnlyhandler); 
     buttonS.setOnClickListener(myOnlyhandler); 
     buttonT.setOnClickListener(myOnlyhandler); 
     buttonU.setOnClickListener(myOnlyhandler); 
     buttonV.setOnClickListener(myOnlyhandler); 
     buttonW.setOnClickListener(myOnlyhandler); 
     buttonX.setOnClickListener(myOnlyhandler); 
     buttonY.setOnClickListener(myOnlyhandler); 
     buttonZ.setOnClickListener(myOnlyhandler); 
     next.setOnClickListener(myOnlyhandler); 
    } 
    View.OnClickListener myOnlyhandler = new View.OnClickListener() { 

      public void onClick(View v) { 
       if(buttonD.getId() == ((Button)v).getId()){ 
        txtD.setVisibility(View.VISIBLE); 
       } 
       else if(buttonO.getId() == ((Button)v).getId()){ 
        txtO.setVisibility(View.VISIBLE); 
       } 
       else if(buttonG.getId() == ((Button)v).getId()){ 
        txtG.setVisibility(View.VISIBLE); 
        i = new Intent(DogActivity.this, HouseActivity.class); 
        startActivity(i); 
       } 
       else if(next.getId() == ((Button)v).getId()){ 
        i = new Intent(DogActivity.this, HouseActivity.class); 
        startActivity(i); 
       } 
       else{ 
        MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.no); 
        mp.start(); 
        life--; 
        **switch (life) { 
        case 2: 
         nyaw.setVisibility(View.INVISIBLE); 
        break; 
        case 1: 
         nyaw2.setVisibility(View.INVISIBLE); 
        break; 
        case 0: 
         nyaw3.setVisibility(View.INVISIBLE); 
         i = new Intent(DogActivity.this, TamatActivity.class); 
         startActivity(i); 
        break; 
       }** 
       } 

      } 

}; 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.dog, menu); 
     return false; 
    } 

} 

但是當我運行它,開關和案例代碼是沒有工作。我是把它放在錯誤的地方還是代碼錯了?感謝您的回答..

+0

後'生活 - '登錄生命的價值,並檢查是否有任何情況下匹配 – Raghunandan

+0

嘗試增加調試語句您的每一個的if/else子句和開關的情況下,看看你的代碼被執行或不。您可以使用Log.d(「TAG」,「Message」)進行調試;嘗試打印消息部分中有用的內容,例如。按鈕的名稱或案例的編號。這將在您的LogCat控制檯中顯示。 – Daniel

+0

@丹尼爾。 Logcat不用於調試(一般情況下)。顧名思義,這是爲了記錄。請不要在Android社區中發生這種疾病,在那裏人們不會學習使用「調試器」,這是找到這樣的問題的正確方法。如果每個人都使用調試器,則StackOverflow上90%的問題將不再需要。 – Simon

回答

0

您可以檢查以下答案您的要求。

這將正常工作,我只是改變了幾個 sentances沒有別的。

見下文。

View.OnClickListener myOnlyhandler = new View.OnClickListener() { 

     public void onClick(View v) { 
      if(R.id.buttond == ((Button)v).getId()){ 
       txtD.setVisibility(View.VISIBLE); 
      } 
      else if(buttonO.getId() == ((Button)v).getId()){ 
       txtO.setVisibility(View.VISIBLE); 
      } 
      else if(R.id.buttono == ((Button)v).getId()){ 
       txtG.setVisibility(View.VISIBLE); 
       i = new Intent(DogActivity.this, HouseActivity.class); 
       startActivity(i); 
      } 
      else if(R.id.buttonnext == ((Button)v).getId()){ 
       i = new Intent(DogActivity.this, HouseActivity.class); 
       startActivity(i); 
      } 
      else{ 
       MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.no); 
       mp.start(); 
       life--; 
       **switch (life) { 
       case 2: 
        nyaw.setVisibility(View.INVISIBLE); 
       break; 
       case 1: 
        nyaw2.setVisibility(View.INVISIBLE); 
       break; 
       case 0: 
        nyaw3.setVisibility(View.INVISIBLE); 
        i = new Intent(DogActivity.this, TamatActivity.class); 
        startActivity(i); 
       break; 
      }** 
      } 

     } 
    //You can also use switch case for this. 
};