Учебное пособие по Notepadv2 не работает - «пока нет заметок», класс NoteEdit, кажется, не вызывается - PullRequest
1 голос
/ 11 сентября 2011

До сих пор я прекрасно ладил с Android Java, но теперь, когда я пытаюсь сделать это правильно и изучить блокнот, я теряюсь.

Когда я запускаю Notepadv2 из официальных руководств,Я получаю точно такой же экран, как и при полной версии v1: «Пока нет заметок».Никакой опции «Добавить», не говоря уже о «Редактировании» (поскольку я, конечно, не добавил заметки).

То же самое происходит, когда я запускаю решение, и интернет мне пока не поможет.

Что меня больше всего интересует, так это то, что я не могу понять, где будет вызываться класс NoteEdit, и я ожидал, что опция «Добавить» появится в файле notes_list.xml...

Помогите кому-нибудь?Пожалуйста

Ответы [ 3 ]

1 голос
/ 25 октября 2011

Если вы нажмете кнопку «Меню», в нижней части экрана появится опция «Добавить заметку», точно так же, как кнопка «Удалить заметку» появится с помощью кнопки меню при редактировании уже существующей заметки.

Если весь ваш код надежен, то я думаю, что на этом все.

Операция NoteEdit запускается с помощью метода onListItemClick, который начинает новое намерение, когда вы нажимаете кнопку создания заметки

    Intent i = new Intent(this, NoteEdit.class);

    i.putExtra(NotesDbAdapter.KEY_ROWID, id);
    startActivityForResult(i, ACTIVITY_EDIT);

.Класс intent передает любые значения в действие NoteEdit, и startActivityForResult начинает действие NoteEdit

, хотя я все еще новичок в этом, так что кто-нибудь исправит меня, если я ошибаюсь!

0 голосов
/ 31 марта 2013

Это довольно старое, но я работал над этим и столкнулся с той же проблемой. Если вы просто добавите опцию вставки в контекстное меню, все в порядке:

public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    menu.add(0, INSERT_ID,0, R.string.menu_insert);
    // menu.add(0, DELETE_ID,0, R.string.menu_delete);
    return true;
}

Более того, я действительно считаю, что они намеревались добавить опцию вставки, а не опцию удаления, и сохранить функцию удаления для длительного нажатия на заметку. В любом случае, хорошо знать, что в руководстве не было написания неработающего кода. Приветствия.

0 голосов
/ 01 июня 2012

У меня тоже такая же проблема.Оказалось, что метод createNote пуст.На самом деле, если вы следуете учебнику, метод createNote будет заполнен на шаге 4.

Если у вас действительно есть жгучее желание увидеть работу вашего приложения, вы можете временно сделать метод createNote похожим наэто:

private void createNote() {
    String noteName = "New Note"; // similar to Notepadv1;
    mDbHelper.createNote(noteName, "");
    fillData();
}
...