質問編集履歴

1 コードを追加しました

Nippun

Nippun score 620

2017/01/05 18:41  投稿

Android StudioでボタンをAddViewした時にその機能を引き継がせる方法
Android Studioでクリックすると画面がスライド(TextView)して出てくる機能をもったボタンをaddViewして同じ機能を持ったボタンを複製させようと思っていますがうまくいきません。
ボタン自体は出てくるのですがその機能は新しいボタンにだけついて古いボタンにはその機能が消えてしまいます。どうすれはいいですか?
 
クリック時の処理  
``` @Override  
   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されたボタンはそれぞれ下記の機能を持ち合わせている  
```public void onWindowFocusChanged(boolean hasFocus) {  
 
       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で書いてます。
ご回答お願いします。
  • Java

    19100 questions

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

  • Android

    8522 questions

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

  • Android Emulator

    189 questions

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

  • Android Widget

    32 questions

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

  • Android Studio

    5223 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る