Я занимаюсь разработкой приложения для Android, в этом приложении есть десяток действий, каждое из которых предназначено для соответствующего экрана. Теперь у меня есть общая панель субтитров в верхней части экрана.
эта панель субтитров имеет кнопку для отображения диалогового окна с предупреждением, в котором отображается список ссылок для перехода на другой экран.
Я мог бы написать одну и ту же функцию для каждого действия, чтобы вызывать диалоговое окно с предупреждением, но это было бы утомительно, если я хочу изменить их, поэтому я создал этот класс:
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);
изнутри onCreate.
Может отображать alertDialog, но всякий раз, когда я нажимаю ссылку pageA, происходит сбой с неожиданной ошибкой.
Logcat говорит, что это nullpointererror, и причина кажется
startActivity(intent);
Что я делаю не так?