我是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);
}
}
我收到错误。
答案 0 :(得分:2)
因为你进入fragment
,你必须使用:
Intent intent = new Intent(getActivity(), AddAccountActivity.class);
或
Intent intent = new Intent(getActivity().getApplicationContext(), AddAccountActivity.class);
例如,请参阅Toast
(getActivity()
)
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);