我正在开发一个Android应用程序,此应用程序有十几个活动,每个活动都用于相应的屏幕。现在我在屏幕顶部有这个共同的字幕栏。 这个字幕栏有一个按钮,显示一个警告对话框,显示链接列表以转到不同的屏幕。将此传递给外部类,并从Android的alertdialog列表中启动活动
我可以写一个相同的功能,每次活动都打电话警告对话框中,但是这将是乏味的,如果我要修改它们,所以我创建这个类:
public class MenuAlertDialog extends Activity {
/*
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
*/
public void createMenu(final Context context){
AlertDialog.Builder dlg = new AlertDialog.Builder(context);
dlg.setTitle("menu");
String[] items = {"pageA", "pageB", "pageC", "pageD", "pageE"};
dlg.setItems(items, new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which){
switch(which){
case 0:
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
break;
default:
break;
}
}
});
dlg.show();
}
}
,并从每个活动叫它,像这样:
MenuAlertDialog menu = new MenuAlertDialog();
menu.createMenu(this);
from onCreate内部。
它可以显示alertDialog,但是无论何时按下pageA链接,它都会失败并出现意外错误。
logcat的说,它的一个nullpointererror和原因似乎
startActivity(intent);
我在做什么错?
意向意图=新意图(背景下,MainActivity.class)更换;在上面的代码上下文中的 是空的,这是原因。 –
嗯,与你的问题无关,但你为什么要将你的课程扩展为活动?如果你在上面发布的内容是该类中的所有内容,那么使用任何东西来扩展该类是完全多余的。 – dymmeh
Android_Crazy感谢您的快速响应!你能否告诉我我该如何解决?请。 – Kou