Android - 一次打开一个活动?

时间:2015-03-11 13:34:08

标签: android

我的主要活动上有几个按钮,我希望每当用户按下按钮时,应用程序只能打开一个按钮。我对Android非常陌生,所以我想知道如何按每次点击按钮打开一个活动?这是我目前的代码:

public class MainActivity3Activity extends Activity implements OnClickListener {

Button ViewGradesActivity;
Button ClassScheduleActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_activity3);

    ViewGradesActivity = (Button) findViewById(R.id.viewgrades);
    ViewGradesActivity.setOnClickListener(this);

    ClassScheduleActivity = (Button) findViewById(R.id.classSched);
    ClassScheduleActivity.setOnClickListener(this);
}

@Override
public void onClick(View view) {
    Intent viewgrades = new Intent(this, ViewGradesActivity.class);
    Intent classsched = new Intent(this, classSchedule.class);

    startActivity(viewgrades);
    startActivity(classsched);
}

}

使用上面的代码,每当我触摸查看成绩的按钮时,第二个活动(课程表)似乎也会打开。我的意思是每当我按下按钮,就会打开两个活动。我该怎么办?

感谢您的帮助:D

2 个答案:

答案 0 :(得分:1)

每个setOnClickListener都需要拥有自己的点击监听器。这将解决您的问题。

ClassScheduleActivity.setOnClickListener(new View.OnClickListener() ... );

(或上面的@ nr4bt解决方案也可以使用)

答案 1 :(得分:1)

您还可以在onClick

中进行条件检查
@Override
public void onClick(View view) {
    switch(view.getId()){
        case R.id.viewgrades:
            startActivity(new Intent(this, ViewGradesActivity.class));
            break;
        case R.id.classSched:
            startActivity(new Intent(this, classSchedule.class));
            break;
    }
}