Android onCreate ClassCastException - PullRequest
       8

Android onCreate ClassCastException

0 голосов
/ 26 января 2012

У меня есть это:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    LinearLayout layout = (LinearLayout) View.inflate(this, R.layout.main, null);
    setContentView(layout);
    s = (Spinner) findViewById(R.id.spinner1);

выдает ClassCastException почему это? Если я делаю setContentView(R.layout.main), все идет хорошо. Но мне нужно иметь макет в переменной, потому что мне нужно использовать библиотеку рекламы. Есть ли способ раздувать XML и иметь макет в переменной?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 января 2012

На какой строке выдается исключение?Может быть, корневой вид макета на самом деле не LinearLayout.Или, может быть, R.id.spinner1 это не Spinner.

1 голос
/ 26 января 2012

Какая строка выбрасывает ClassCastException?

Также вы можете использовать setContentView(R.layout.main);, а затем по-прежнему использовать обычный поиск по идентификатору, чтобы получить ссылку на ваш корневой макет.

LinearLayout layout = (LinearLayout)findViewById(R.id.yourParentId);

, пока это происходит после того, как вы вызвали setContentView (), вам должна быть возвращена ссылка на ваш объект макета, который вы можете использовать по своему усмотрению.

...