Изменить макет активности - PullRequest
       8

Изменить макет активности

0 голосов
/ 28 февраля 2012

В моем приложении я хочу изменить активность contentview, если, например, была нажата кнопка.

Вначале я вызываю первого Layou:

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.catalog);
    }

и когдабыла нажата кнопка, я вызываю эту:

    public void showItemActivity(int position){
        setContentView(R.layout.item_view);
    }

и в этом методе происходит сбой моего приложения.

Мне нужно сказать, что если я попробую этот метод:

setContentView(R.layout.item_view);

в начале другого занятия это работает отлично, но для меня очень важно, чтобы оно было в том же Activity.

Редактировать

ошибка лога msg:

 java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'

1 Ответ

0 голосов
/ 08 марта 2012

Проблема в том, что ваш класс активности может иметь расширенную ListActivity, и вы должны иметь ListView с атрибутом id, равным android.R.id.list, в вашем XML-файле макета, чтобы ваш класс ListActivty мог найти основной список этой активности. (ЕслиsomeClass расширяет ListActivity, это означает, что someClass, в основном, выполняет роль списка).Просто установите идентификатор ListView равным android.R.id.list в layout/item_view.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...