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アプリ:android:fullBackupContentの宣言

Android Studioで、以下のようなエラーメッセージが表示されました。 On SDK version 23 and up, your app data will be automaticall…続きを読む

Androidアプリ:ボタンを押すとメッセージが入れ替わる

Android StudioでAndroidアプリを試作します。 今回は「ボタンを1回押すとテキストの内容が変わり、もう1回押すと元に戻る」というだけのアプリをつくります。 プロジェクトの生成 And…続きを読む

Androidアプリ:クリックイベントとロングクリックイベントを取得する

Androidアプリで、クリックイベントとロングクリックイベントの2つを取得して処理する方法です。 OnClickListenerとOnLongClickListenerを併記 public clas…続きを読む

Androidアプリ:テキストをリスト表示する

Androidアプリで、ListViewを使い、配列に格納したテキストをリスト表示します。 MainActivity.java import android.app.Activity; import …続きを読む

Androidアプリ:String型の変数に格納した画像や音声ファイル名から表示・再生する

Android Studioを使って画像ファイル名や音声ファイル名から、ImageViewで画像を表示したりMediaPlayerで音声再生する方法です。 String型の変数に、画像ファイル名もしく…続きを読む

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

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

Androidアプリ:動画を再生する

Androidアプリで動画を再生する方法です。 読み込み時は最初の1コマ目をプレビューしている状態で静止しています。 MainActivity.java javaのソースには以下のように記します。 こ…続きを読む

Androidアプリ:入力された数値を足して表示する

2つのテキストボックスに入力した数値を受け取り、それぞれを足した結果を表示するアプリをつくります。 ここではレイアウト定義ファイルを「activity_main.xml」、 プログラムファイルを「Ma…続きを読む

Androidアプリ:Firebaseを利用したAdMobの実装方法

AndroidアプリでFirebaseを利用したAdMobの実装方法を調べました。 なお、FirebaseおよびAdMobには既にユーザ登録済みであることを想定しています。 未登録の場合は先に登録して…続きを読む

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

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