从ImageButtons开始新的活动

时间:2012-09-02 22:27:31

标签: android android-activity imagebutton

我有MainMenu。有3种不同的ImageButtons用于启动新活动。一切正常,但我想知道是否有可能采用另一种方式对此进行编码。我用一个按钮从示例代码中获取了这个,我觉得它看起来不太好:为每个按钮设置 new OnClickListener()

public class MainMenu extends Activity implements OnClickListener{

ImageButton firstModule;
ImageButton secondModule;
ImageButton thirdModule;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_menu);

    //init buttons
    firstModule =  (ImageButton) findViewById(R.id.imageButton1);
    secondModule = (ImageButton) findViewById(R.id.imageButton2);
    thirdModule =  (ImageButton) findViewById(R.id.imageButton3);

    firstModule.setOnClickListener(this);
    secondModule.setOnClickListener(this);
    thirdModule.setOnClickListener(this);
}
public void onClick(View v) {

    switch(v.getId()){
    case R.id.imageButton1:
        startActivity(new Intent(MainMenu.this, BasicFunctions.class));
        break;
    case R.id.imageButton2:
        startActivity(new Intent(MainMenu.this, GpsModule.class));
        break;
    case R.id.imageButton3:
        startActivity(new Intent(MainMenu.this, Graphic3D.class));
        break;
    }

}

}

1 个答案:

答案 0 :(得分:3)

更优雅的方法是在View.OnClickListener内实施Activity,然后在onClick()的{​​{1}}方法内处理点击次数。它为您提供了一个Activity对象作为参数,您可以使用View方法检索视图的ID,然后您可以使用view.getId()块为每个switch实施操作在你的布局中。希望这会有所帮助。