2015-08-15 69 views
2

我仍然與StaticClass代碼混淆,該代碼從我的朋友給出除了共享首選項之外的替代保存已經3天我嘗試瞭解代碼並問,但代碼仍然存在一些問題使用StaticClass使生成按鈕可見並保存

這是我selectlevel.class最新下面的代碼,我有完善

public class selectlevel extends Activity { 

    Button f1, f2, f3; 
    ImageView f2lock, f3lock; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     setContentView(R.layout.selectlevel); 


     f1=(Button)findViewById(R.id.f1); 
     f1.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v){ 
        // TODO Auto-generated method stub 
        Intent level1 = new Intent(); 
        level1.setClassName ("com.example.game", "com.example.game.levelone"); 
        startActivity (level1);    
       }    
      }); 

     f2=(Button)findViewById(R.id.f2); 
     f2lock=(ImageView)findViewById(R.id.f2lock); 
     f2.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v){ 
       // TODO Auto-generated method stub 
       Intent level2 = new Intent(); 
       level2.setClassName ("com.example.game", "com.example.game.leveltwo"); 
       startActivity (level2);    
       }      
      }); 
      updateLevels(); 
    } 

    static class PlayerProgress { 

     private static int progress = 0; 

     public static void updateProgress(int levelNumber) { 
      progress = levelNumber; 
     } 

     public static int getPlayerProgress() { 
      return progress; 
     } 
    } 

    public void updateLevels() { 
     int progress = PlayerProgress.getPlayerProgress(); 


    switch(progress) { 
     case 1: 
      f2.setVisibility(View.VISIBLE); 
      f2lock.setVisibility(View.GONE); 
      break; 
     case 2: 

      break; 

     // You can expand this to as many levels you'd like. 
    } 
    } 

,我不得不使用我的levelone.class發送更新進度1

button1.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v){ 
       selectlevel.PlayerProgress.updateProgress(1); 
       finish(); 

但當levelone.class完成,F2鍵還是走了,f2lock仍可見

enter image description here

什麼是selectlevel.class

變化我不知道它可以像這樣明顯的,如果比賽重新仍清晰可見打開,因爲按鈕的知名度保存

enter image description here

任何人都可以幫助我解決我的代碼中的問題?或者用另一個代碼解釋爲解決方案?

回答

3

嘗試又撥打了updateLevels()功能在你的onClick funtion這樣的:

button1.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v){ 
      selectlevel.PlayerProgress.updateProgress(1); 
      selectlevel.PlayerProgress.updateLevels(); 
      finish(); 
} 
+1

其錯誤兄弟,方法updateLevels()是未定義的類型selectlevel.PlayerProgress – RichFounders

+0

哦,是的,你說得對,對不起。 – bendaf

+0

你有什麼想法嗎? – RichFounders