質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

2254閲覧

BottomSheetBehavior実行時にThe view is not a child of CoordinatorLayoutエラーが発生

bagi

総合スコア4

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2020/06/05 08:01

前提・実現したいこと

Android Javaでの開発未経験者です。
勉強のため、BottomSheetBehaviorの実装を行いたいと思い、参考ブログなどでテスト実装を実施しています。

発生している問題・エラーメッセージ

いくつかのブログを参考に実装しているのですが、どの参考コードでも必ず、以下のエラーとなり動きません
java.lang.IllegalArgumentException: The view is not a child of CoordinatorLayout

上記のエラーはMainActivityの以下の行で発生しているようです。
→ mBottomSheetBehavior = BottomSheetBehavior.from(view);

該当のソースコード

LayoutのXMLに問題があると思うのですが、どこがどのようにボトルネックとなっているのか見当がつかず、質問にいたっております。ご助力いただければ幸いです。

activitymain

1<?xml version="1.0" encoding="utf-8"?> 2<androidx.constraintlayout.widget.ConstraintLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:tools="http://schemas.android.com/tools" 5 xmlns:app="http://schemas.android.com/apk/res-auto" 6 android:layout_width="match_parent" 7 android:layout_height="match_parent"> 8 9 <ImageView 10 android:id="@+id/imageView1" 11 android:src="@drawable/sample1" 12 android:layout_width="match_parent" 13 android:layout_height="match_parent" 14 android:scaleType="centerCrop" 15 android:minHeight="200dp" 16 android:text="Hello World!" /> 17 18 <LinearLayout 19 android:id="@+id/bottomSheet1" 20 android:layout_width="match_parent" 21 android:layout_height="200dp" 22 android:background="#E0E0E0" 23 android:padding="16dp" 24 app:behavior_hideable="true" 25 app:behavior_peekHeight="120dp" 26 app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" 27 tools:ignore="MissingConstraints"> 28 29 <TextView 30 android:id="@+id/textView1" 31 android:layout_width="match_parent" 32 android:layout_height="match_parent" 33 android:text="San Clemente Beach" 34 android:textSize="32sp" /> 35 </LinearLayout> 36 37 38public class MainActivity extends AppCompatActivity implements View.OnClickListener { 39 40 BottomSheetBehavior mBottomSheetBehavior; 41 42 @Override 43 protected void onCreate(Bundle savedInstanceState) { 44 super.onCreate(savedInstanceState); 45 setContentView(R.layout.activity_main); 46 View view = findViewById(R.id.bottomSheet1); 47 ImageView imageView = (ImageView) findViewById(R.id.imageView1); 48 imageView.setOnClickListener(this); 49 50 mBottomSheetBehavior = BottomSheetBehavior.from(view); 51 } 52 53 @Override 54 public void onClick(View v) { 55 switch(v.getId()){ 56 case R.id.imageView1: 57 if( mBottomSheetBehavior.getState() == BottomSheetBehavior.STATE_EXPANDED ) { 58 mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); 59 } 60 else { 61 mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); 62 } 63 break; 64 } 65 } 66}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

keicha_hrs

2020/06/05 09:12

XMLとJavaのソースファイルは分けて記述してください。また、レイアウトXMLのソースが途切れているようなので、完全なものを記述してください。それから、参考にしたブログというのもURLを提示された方が良いでしょう。
guest

回答1

0

ベストアンサー

BottomSheetBehaviorを使う | Qiita
BottomSheetの実装 | Qiita
Bottom Sheets の実装方法

などいくつかのページを参照すると、BottomSheetBehaviorはCoordinatorLayoutの子ビューとして配置できるものと記されています。しかし、質問でご提示いただいたXMLの親ビューはConstraintLayoutのようです。綴りが似ていて紛らわしいですが、ここが誤りの原因ではないのですか?

一番上のQiitaのページを参考にして試しに作ってみましたが、正常に動作するようです。質問で問題にされているエラー箇所もパスしています。

BottomSheetBehavior

(参考ページの動画にあるようにBottomSeetを上下に引き上げたり引き下げたりできている状態)

投稿2020/06/05 09:22

keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bagi

2020/06/05 10:28

ご回答いただきありがとうございます。 今回始めての質問投稿で至らぬ点があったにも関わらず、丁寧にご回答いただきありがとうございます。 ご指摘の通り、綴りを間違っていたようで、お恥ずかしい限りです。 質問の回答、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問