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 に答える