HOME技術AndroidAndroidアプリ:エラー「ScrollView can host only one direct child」

Androidアプリ:エラー「ScrollView can host only one direct child」

Android StudioでScrollViewを設定して動作確認しようとすると、「ScrollView can host only one direct child」というエラーが出て動作確認できないことがあります。

ScrollViewは子要素を1つしか持てない

ScrollView内には子要素を1つしか持てないため、複数の子要素を指定している場合にこのエラーが出ます。

ScrollView内に子要素を複数持たせたい場合には、LinearLayoutなどで全体を囲ってから、その内部で子要素を複数配置します。

<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content">
/>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content">
/>

</LinearLayout>

</LinearLayout>
</ScrollView>

上記のようにすればエラーは出ません。

関連記事

Androidアプリ:ボタンやEditTextに余白(パディング)を設定する

Android StudioでボタンやEditTextに余白(パディング)を設定します。 余白の設定はレイアウトファイル(activity_main.xml)を編集します。 activity_main…続きを読む

Androidアプリ:特定のViewに最初のフォーカスをあてる

Android Studioにおいて、起動時に特定のViewにフォーカスをあてる方法です。 activity_main.xmlで設定 レイアウト定義ファイル(activity_main.xml)におい…続きを読む

Androidアプリ:レイアウトの途中にスクロールを入れる

Androidアプリで以下のようなレイアウトを組む方法です。 weightSumを使う 上、中央、下のパーツに分けて、上下のパーツは固定、中央のパーツはスクロール可能にします。 最初にLinearLa…続きを読む

Androidアプリ:画面をタップしたら文字を入れ替える

画面をタップしたら文字を入れ替えるアプリをつくります。 今回はタッチイベントを取得する方法を調べました。 ここではレイアウト定義ファイルを「activity_main.xml」、 プログラムファイルを…続きを読む

Androidアプリ:画面の高さと幅を取得する

Andoroidで、画面の高さと幅を取得する方法です。 MainActivity.java Android端末の画面サイズ(高さと幅)を表示します。 public class QuestionActi…続きを読む

Androidアプリ:When using intent filters, please specify ‘android:exported’ as well

Android Studioで「When using intent filters, please specify ‘android:exported’ as well」という…続きを読む

Androidアプリ:アイコンの下に表示されるテキストの設定

Androidアプリをインストールした後に、スマホ画面に生成されるアイコンの下に表示されるテキストの設定方法です。 AndroidManifest.xml AndroidManifest.xmlを開き…続きを読む

Androidアプリ:画面遷移時に値を渡す

Androidで画面遷移時に値を渡す方法です。 数値を渡す場合 MainActivity.java public class MainActivity extends Activity { @Over…続きを読む

Androidアプリ:ボタンのテキストを変える

Androidでボタンのテキストをプログラム上で変える方法です。 MainActivity.java   Button button = findViewById(R.id.button);…続きを読む

Androidアプリ:内部テスト版をリリースする

Androidアプリで完成したものをすぐに公開する前に、内部テスト版としてリリースして動作確認をする方法です。 内部テスト版リリース方法 Google Play Consoleにログインして、「すべて…続きを読む