3

私はAndroidが初めてです。RootViewAndroidでレイアウトの高さをプログラムで変更する方法を教えてもらえますか? 私が試したコードは以下のとおりです

LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            View view = inflater.inflate(R.layout.sample, null);
            view.getRootView().getLayoutParams().height = value;

これを実行した後NullPointerException、上記の行に a が表示されます。誰でも私を助けることができますか?前もって感謝します。

4

1 に答える 1

5

inflate 呼び出しによって返されるビューはルート ビューであるため、これは機能するはずです。

View view = inflater.inflate(R.layout.sample, null);
view.setLayoutParams(new ListView.LayoutParams(LayoutParams.MATCH_PARENT,<height>));

次のようにインフレートする ViewGroup を提供する場合:

View view = inflater.inflate(R.layout.sample, containerForTheInflatedView);

次にview、必要なルート ビューではなく、ViewGroup になります。

于 2013-02-28T13:58:56.697 に答える