Как начать ListActivity с намерения?

1

У меня есть класс ListNotes, который расширяет ListActivity, а в другом классе у меня есть намерение, которое относится к классу ListNotes. Проблема в том, что я получаю сообщение об ошибке "Извините! Приложение неожиданно остановилось. Повторите попытку". Когда я изменяю ListActivity только на Activity, ошибка исчезает. Но мне действительно нужно расширить ListActivity, поскольку в нем есть ListView. Могу ли я изменить этот код

Intent intent = new Intent(MyNotepad.this, ListNotes.class);
        startActivity(intent);

чтобы заставить его работать? Может быть, есть что-то вроде startListActivity(intent);?

  • 0
    Нет, такого метода нет. Можете ли вы показать мне трассировку стека? Это может действительно помочь.
  • 0
    Я окружил свой «Код намерения» try-catch, но stacktrace ничего не показывает. Скорее я забыл, как использовать это не напечатано.
Показать ещё 2 комментария
Теги:

2 ответа

6
Лучший ответ

Убедитесь, что вы добавили ListView в макет:

<ListView android:id="@android:id/list"
          android:layout_width="fill_parent">

Идентификатор @android:id/list важен для возможности использования ListActivity.

  • 0
    Как получить этот идентификатор в нашей программе Android? Я попытался с помощью listView l1 = (ListView) findViewById (R.id.list), но он говорит, что список не может быть разрешен или не является полем. Он не показывает ошибку, если я даю android: id = @ + id / mylist в моем XML-файле но в этом случае я получаю ошибку принудительного закрытия.
1

У вас есть ListNotes, объявленный как действие в вашем файле манифеста?

Поместите это между тегами application:

<activity
    android:name="ListNotes" />

Кроме того, журнал ошибок из LogCat поможет.

Изменить: Макет, используемый в вашей деятельности ListNotes, должен содержать ListView с id @android:id/list, как упомянуто выше kgiannakakis.

<ListView
    android:id="@android:id/list"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" />
  • 0
    Я сделал это, но это не работает. LogCat не показывает никаких ошибок.
  • 0
    конечно, logcat покажет что-то в сообщении «принудительное закрытие»!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню