onclick中的startActivity

时间:2016-07-08 18:22:00

标签: android oncreate start-activity

使用onClick方法有一个简单的Activity - 它可以工作 但Android Studio标记为startActivity red表示无法解析方法 - 为什么?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.lyt_start);
}

public void onClick(View v) {
    switch (v.getId()) {

        case R.id.btn1:

            Intent int_Update = new Intent(v.getContext(), aty_Update.class);

            startActivity(int_Update);

            break;

        case R.id.btn2:

            Intent int_Start = new Intent(v.getContext(), aty_Main.class);
            startActivity(int_Start);

            break;
    }
}

2 个答案:

答案 0 :(得分:0)

请勿使用v.getContext(),请使用:

Intent int_Update = new Intent(this, aty_Update.class);

MyActivity.this代替。

另外,您没有正确设置onClickListener。请查看this link以了解如何正确完成此操作。

答案 1 :(得分:0)

使用以下代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.lyt_start);
}

public void onClick(View v) {
    switch (v.getId()) {

        case R.id.btn1:

            activityStarter(aty_Update.class);

            break;

        case R.id.btn2:

            activityStarter(aty_Main.class);

            break;
}


       Intent int_Update;

public void activityStarter(Class<?> cls){
        int_Update = new Intent(getApplicationContext(), cls);
        startActivity(int_Update);
    }