2012-03-08 2 views
0

EclipseとAndroid SDKを使用してAndroidデバイス用のアプリケーションを開発しています。 同じOnClickListenerを使用して(実行時に)いくつかのImageButtonを追加したいと思います。問題は、最初に追加されたボタンに対してのみOnClickListenerが機能することです。 次のすべてのボタンでは、onClickイベントは単に起動しません。Android:runtime OnClickListenerが動作しません

誰かが既にこの問題に遭遇しました(そして解決しましたか)?

public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2, float arg3) { 
    ImageButton myButton= new ImageButton(this); 
    myButton.setMaxHeight(140); 
    myButton.setMaxWidth(140);  
    myButton.setPadding(0, 0, 0, 0); 
    myButton.setAdjustViewBounds(true); 
    myButton.setImageResource(resId); 

    myButton.setOnClickListener(new View.OnClickListener() {    
     public void onClick(View v) { 

      // TODO Auto-generated method stub 

     } 
    }); 

    myRelativeLayout.addView(myButton, 0); 
} 
+0

のようにクリックリスナを設定しますか? –

+0

ビューを常にゼロインデックス0に追加しますか? – viplezer

+1

ボタンが1つしか表示されません。あなたのログのエラーは何ですか? – jmishra

答えて

0

ボタンは常に0番目の位置に追加されています。

myRelativeLayout.addView(myButton, 0); 

だから、あなただけの新しいボタンを作成し、それだけで作業を参照してください理由はおそらく、「最初のボタン」、としてそれらを追加します。以前に作成したボタンは失われます。

+0

私は、(グローバルカウンタを使用して)異なる位置にボタンを追加しようとしましたが、実行されません。実行時の結果は同じです。 – gldm

+0

OnClickが起動しないことをどのようにテストしていますか? –

0

は、ビューを追加した後、何が起こるか.... myButton.setFocusable(偽)この

final int count = myRelativeLayout.getChildCount(); 
    for (int i = 0; i < count; i++) { 
     View child = myRelativeLayout.getChildAt(i); 

     child.setOnClickListener(new View.OnClickListener() { 

         public void onClick(View v) { 

       // TODO Auto-generated method stub 

      } 
      }); 
+0

こんにちはgldm、あなたは私の答えでうんざりしましたか?それは私のために働いた。必要ならば、詳細なコード – almuneef