0

我有这个:

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 并将布局放在变量中?

谢谢

4

2 回答 2

1

哪一行抛出 ClassCastException?

您也可以使用setContentView(R.layout.main);然后仍然通过 id 调用使​​用普通查找视图来获取对您的根布局的引用。

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

只要这发生在您调用 setContentView() 之后,您就应该返回一个对您的布局对象的引用,您可以随意使用它。

于 2012-01-25T21:35:01.233 回答
1

它在哪一行抛出异常?也许布局的根视图并不是真正的LinearLayout. 或者也许R.id.spinner1不是一个Spinner.

于 2012-01-25T21:35:17.443 回答