2014-01-05 52 views
1

我試圖用幾個按鈕創建一個活動,我希望點擊它們可以打開一個新的活動。我試過這段代碼,但它似乎沒有工作(我點擊Puntos圖像,沒有任何反應)你看到什麼可能是錯的?打開新的活動OnImageButton點擊

public class MainMenu extends Activity implements OnClickListener{ 

    ImageButton puntos; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mainmenu);  
     puntos = (ImageButton)findViewById(R.id.ImagePuntos); 
    } 

    @Override 
    public void onClick(View arg0) { 
     // TODO Auto-generated method stub 
     if(arg0.getId() == R.id.ImagePuntos){ 

      Intent openActivity1 = new Intent(MainMenu.this, MisPuntos.class); 
      startActivity(openActivity1); 
     } 
    } 
} 

回答

1

在你的XML佈局,在那裏你定義ImagePuntos編程設置它,給它的屬性

android:onClick="onClick" 
+0

使用你的建議和工作就像一個魅力!幾分鐘後,我將能夠接受你的答案。非常感謝! – Aldridge1991

+0

太好了。我給你更簡單的解決方法,因爲檢查速度更快。在編程方式上,您必須添加OnClickListener導入,設置一個新的OnClickListener,將現有的onClick方法嵌入到OnClickListener中......太無聊了!你現在有一個方法**可與其他控件共享**(你只需要添加一個開關箱選擇器來獲取點擊項目的ID並作出適當的反應)。 –

1

確保無論是ImageButton的有它的onclick屬性設置爲的onClick在XML或通過添加puntos.setOnClickListener(this);

+0

工作得很好。謝啦! – Aldridge1991

+1

+1因爲我認爲這種方法更多的MVC。 onclick屬性是好的,android團隊使用它,但我不喜歡讓視圖知道關於控制器的任何信息。 –

+0

@CarlosRobles我完全同意,不喜歡使用XML屬性出於這個原因。 – OrhanC1

相關問題