2011-03-25 71 views
1

請不要回答已回答點擊方法不適用於通過膨脹佈局獲得的按鈕!

我已經問過這個問題,但是我覺得我還不夠清楚! 通過膨脹佈局獲得的按鈕的onClick方法不起作用 如何解決此問題我忘了在代碼中執行某些操作?

更新時間: 現在用下面的代碼,我得到一個NullPointerException當我設置onClickListener什麼是錯的

下面是我的一些代碼: (注意是不完整的,你不會看到的onCreate!)

  LayoutInflater inflater = LayoutInflater.from(getBaseContext()); 
    View playv = inflater.inflate(R.layout.play, null); 
    Button updateLevel = (Button) playv.findViewById(R.id.updateLevel); 

    updateLevel.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       setLevelOnClick(v); 
      } 
     }); 


    View levelv = inflater.inflate(R.layout.level, null); 
    Button gotomenu = (Button) levelv.findViewById(R.id.tomenu); 

    gotomenu.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       toMenuOnClick(v); 
      } 
     }); 

回答

3

安德魯,

嘗試:

LayoutInflater inflater = LayoutInflater.from(context); 
View v = inflater.inflate(R.layout.root_view, null); 
Button updateLevel = (Button) v.findViewById(R.id.updateLevel); 

updateLevel.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      setLevelOnClick(v); 
     } 
    }); 
Button goBackMainMenu = v.inflate(R.layout.play, null).findViewById(R.id.tomenu); 
goBackMainMenu.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     toMenuOnClick(v); 
    } 
}); 

這是假設root_view是包含Button對象的View

+0

它不起作用,它返回null。 – 2011-03-25 23:07:29

+0

你可以發佈'Button' updateLevel定義的XML嗎? – 2011-03-25 23:09:12

+0

更新了答案! – 2011-03-25 23:15:45