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

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

ただいまの
回答率

90.83%

  • Java

    12532questions

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

  • Android

    6006questions

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

  • Android Studio

    3291questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

  • Android Emulator

    119questions

    Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

  • Android Widget

    27questions

    ホームスクリーンウィジェット、またはAndroidアプリケーションのスクリーン上で使用される一般的なユーザインタフェース要素に関連することを指します。

Android StudioでボタンをAddViewした時にその機能を引き継がせる方法

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 601

Nippun

score 204

Android Studioでクリックすると画面がスライド(TextView)して出てくる機能をもったボタンをaddViewして同じ機能を持ったボタンを複製させようと思っていますがうまくいきません。
ボタン自体は出てくるのですがその機能は新しいボタンにだけついて古いボタンにはその機能が消えてしまいます。どうすれはいいですか?

クリック時の処理

    public void onClick(View view) {

        switch (view.getId()) {
      case R.id.Button3:
                listCounter++;
                View view1 = getLayoutInflater().inflate(R.layout.list, null);
                linearLayout.addView(view1);
                break;
    }
  }
コード

元のボタンとaddViewされたボタンはそれぞれ下記の機能を持ち合わせている

        super.onWindowFocusChanged(hasFocus);

        relativeContents = (RelativeLayout) findViewById(R.id.RelativeContent);
        name = (Button)findViewById(R.id.ButtonName);

        final int originalHeight = relativeContents.getHeight();

        name.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (relativeContents.getHeight() > 0) {

                    Slide slide = new Slide(relativeContents, -originalHeight, originalHeight);
                    slide.setDuration(During);
                    relativeContents.startAnimation(slide);
                } else {

                    Slide openAnimation = new Slide(relativeContents, originalHeight, 0);
                    openAnimation.setDuration(During);
                    relativeContents.startAnimation(openAnimation);
                }
            }
        });
    }
コード

ちなみにボタンとスライド画面はセットでそれぞれ独立しています。例えば、ボタン1を押すとスライド1が出てきてスライド2以降には影響しません。

ボタンとスライド画面はXMLで書いてます。

ご回答お願いします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • yona

    2017/01/05 09:45

    質問の内容から何をしているかわかりません。やりたいことを具体的に書いて、コードを追記してください。

    キャンセル

回答 1

checkベストアンサー

0

全てのButtonにButton#setTagで識別できるタグを設定し、onClickの先頭で引数のViewに対してView#getTagを使いタグの内容を出力してください。

質問を読み返してください、これで何も知らない誰かにやりたいことが伝わると思いますか?

質問から動作がさっぱりわかりません。
・Button1-クリックするとTextViewがスライドして出てくる機能をもったボタン
・Button1をJavaで動的に複数追加したい。
・Button1を追加することはできる。
・新しいButton1は正常に動く。
・古いButton1はクリックしても何も動かない。
無理に文章にせず、箇条書きで書いてください。また、登場するViewの具体的な役割を書いてください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.83%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    Androidでのボタン処理

    前提・実現したいこと Androidスマートフォンで、STARTボタンをタップすると2秒後に画面上に加速度センサーの値を表示し、STOPボタンを押すと表示を止める、ということをし

  • 解決済

    Fragmentのボタン処理がうまくいかない

    英単語帳アプリを作っています。 Fragmentを用意しViewPagerを使ってスライドしていきます。 SQLiteファイルからデータを取得し、 単語や意味などの一覧を画面

  • 解決済

    複数ボタンによるインテント

    現在xmlである文字をタップすると別画面に切り替わる操作を考えております。 現在の状況としてはxmlが 「こちらから  →」(完成xml) <RelativeLayo

  • 受付中

    support designのTextInputLayoutのhintを動的に変更したい

    前提・実現したいこと EditTextレイアウトを動的に追加して、その際に入力されたタイトルをhintにセットするという事をやろうとしているのですが、デフォルトで記述されているもの

  • 解決済

    ボタン処理のIllegalStateExceptionエラー

    前提・実現したいこと 実行させたアプリのボタンの処理を実行させる。 発生している問題・エラーメッセージ 実行させたアプリのボタンをタップすると、エラーが発生しアプリが落ちてしま

  • 解決済

    ActivityからViewに値を送る方法

    前提・実現したいこと ボタンを押すとそのボタンに応じて円の色を変えたいです。 該当のソースコード package com.penguinsoftware.test2; imp

  • 解決済

    Android Studioで複数ボタンから画面遷移をしたいです。

    前提・実現したいこと Android Studioを始めたばかりです。 練習として何時に何の業務をしていたか記録するアプリを作ろうとしています。 その第一段階としてメイン画面に複数

  • 解決済

    ボタンでの加速度とジャイロセンサのCSV保存

    前提・実現したいこと Androidのアプリをつくっていて、加速度とジャイロセンサの値を時刻とともにCSVで実機に保存したいのですが、うまくいかず困っています。また、START S

同じタグがついた質問を見る

  • Java

    12532questions

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

  • Android

    6006questions

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

  • Android Studio

    3291questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

  • Android Emulator

    119questions

    Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

  • Android Widget

    27questions

    ホームスクリーンウィジェット、またはAndroidアプリケーションのスクリーン上で使用される一般的なユーザインタフェース要素に関連することを指します。