startActivity无法处理嵌套方法调用

时间:2013-07-30 11:56:58

标签: android

我已经浏览过但无法找到使用意图开始不同活动的这个(可能非常简单)问题的答案。

我正在尝试启用按钮,以便在单击时启动另一个活动。

为什么这样做:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button btn = (Button) findViewById(R.id.btn_Act2);
    btn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            startActivity(new Intent("com.timsworth.ACTIVITY2"));
        }
    });
}

但这不起作用:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button btn = (Button) findViewById(R.id.btn_Act2);
    btn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            startAct();
        }
    });
}

public void startAct() {
    startActivity(new Intent("com.timsworth.ACTIVITY2"));
}

干杯。

2 个答案:

答案 0 :(得分:3)

它超出了onCreate()方法所以你应该明确地提到Context,在你的第二个代码中这样写,

startActivity(new Intent(getApplicationContext(),"com.timsworth.ACTIVITY2"));

答案 1 :(得分:1)

尝试

public void startAct() {
    startActivity(new Intent(yourCurrentActivity.this,com.timsworth.ACTIVITY2.class));
}

代替