从菜单单击启动新活动时出错

时间:2014-03-11 23:02:02

标签: java android

我是Android开发的新手,所以可能有一些简单的错误。如果您需要更多信息,我很乐意将此信息提供给您。提前谢谢。

我正在尝试在navdrawer.class中添加一个按钮。这就是我所拥有的。

    @Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (mDrawerToggle.onOptionsItemSelected(item)) {
        return true;
    }
    switch (item.getItemId()) {
        case R.id.new_account:
            Intent intent = new Intent(this, AddAccountActivity.class);
            this.startActivity(intent);
            break;

        }
        return super.onOptionsItemSelected(item);
    }

}

我收到错误。

3 个答案:

答案 0 :(得分:2)

因为你进入fragment,你必须使用:

Intent intent = new Intent(getActivity(), AddAccountActivity.class);

Intent intent = new Intent(getActivity().getApplicationContext(), AddAccountActivity.class);

例如,请参阅ToastgetActivity()

中使用的上下文
Toast.makeText(getActivity(), "This Will Create  A New Account.", Toast.LENGTH_SHORT).show();

答案 1 :(得分:1)

你应该写

Intent intent = new Intent(AddAccountActivity.this, AddAccountActivity.class);

而不是

Intent intent = new Intent(this, AddAccountActivity.class);

答案 2 :(得分:1)

我是对的,this是片段实例吗?如果是这种情况,那就是你的问题。意图构造函数需要上下文和活动类才能工作。

片段不会从上下文继承。您可以使用getActivity()方法获取基础活动。

试试这个:

Intent intent = new Intent(getActivity(), AddAccountActivity.class);