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

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

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

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

Android

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

Q&A

解決済

1回答

356閲覧

動的にjavaコードで追加したボタンに、constraintは適応できないのでしょうか?

hood

総合スコア351

Java

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

Android

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

0グッド

0クリップ

投稿2018/10/13 15:28

###動的にjavaコードで追加したボタンに、constraintは適応できないのでしょうか?
題目通りです。
まず静的な、つまりxmlで作ったボタン1の下に動的な、つまりコードで作ったボタン2を追加します。
ここまではうまくいきました。
しかし、その動的に作ったボタン2の下に、さらに動的に新たなボタン3をつけようとしたのですが、制約がうまくいってないらしく、新たなボタン3は左上に出てしまいます。

これは動的にjavaコードで追加したボタンに、constraintは適応できない、ということなのでしょうか?それとも私がなにか間違っているのでしょうか?

以下にコードを記します。
どうかご教授いただけたら幸いです・・・!

lang

1 //constraintlayoutのインスタンス取得。 2 ConstraintLayout constraintLayout=content.findViewById(R.id.select_box); 3 //一章のbuttonのIDを取得。 4 Button selectone=(Button)content.findViewById(R.id.stage_1); 5 //二章のボタンを作る。 6 Button selecttwo =new Button(getContext()); 7 constraintLayout.addView(selecttwo); 8 9 selecttwo.setText(R.string.stage_two); 10 selecttwo.setId(2); 11 //一章のボタンの下に制約する。 12 ConstraintLayout.LayoutParams layoutParams_two=(ConstraintLayout.LayoutParams)selecttwo.getLayoutParams(); 13 layoutParams_two.startToStart=selectone.getId(); 14 layoutParams_two.topToBottom=selectone.getId(); 15 layoutParams_two.topMargin=32; 16 selecttwo.setLayoutParams(layoutParams_two); 17 //三章のボタンを作る。 18 Button selectthree=new Button(getContext()); 19 constraintLayout.addView(selectthree); 20 21 selectthree.setText(R.string.stage_three); 22 selectthree.setId(3); 23 //二章のボタンの下に制約する。 24 ConstraintLayout.LayoutParams layoutParams_three=(ConstraintLayout.LayoutParams)selectthree.getLayoutParams(); 25 layoutParams_three.startToStart=selecttwo.getId();//二章のボタンの取得ができていない・・・? 26 layoutParams_three.topToBottom=selecttwo.getId(); 27 layoutParams_three.topMargin=32; 28 selectthree.setLayoutParams(layoutParams_three); 29 30

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

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

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

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

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

guest

回答1

0

自己解決

動的にボタンを追加するのではなく、動的にsetVisilabilyを使うことによってやりたいことができました。タイムラインを荒らしてすいませんでした。

投稿2018/10/13 23:26

hood

総合スコア351

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問