1

私は100個のボタンを持っています(button000からbutton999まで)。それらすべてにsetOnClickを設定する方法はありますか?すべてのボタンが同じ機能を持っているからです。前もって感謝します。

4

8 に答える 8

1

バディはこの方法を試してください

import android.view.View.OnClickListener;

public class MyActivity extends Activity implements OnClickListener {

  @Override public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);
     Button buttonA = (Button) findViewById(R.id.buttonA);    
     buttonA.setOnClickListener(this);
     Button buttonB = (Button) findViewById(R.id.buttonB); 
     buttonB.setOnClickListener(this);
  }

  //etc... etc...

 public void onClick(View v) {

  switch (v.getId()) {
     case R.id.buttonA: 
      // do something
      break;
     case R.id.buttonB:
      // do something else
      break;
  }
}
于 2012-05-11T11:00:41.443 に答える
1

ボタンがレイアウト内にある場合は、次のようにします。

int childcount = ll.getChildCount();
for (int i=0; i < childcount; i++){
      View v = ll.getChildAt(i);
      v.setOnCLickListener(this);
}
于 2012-05-11T11:01:22.907 に答える
1


現時点では、button000.setOnclicklistener(this);を使用する最も簡単な方法と言えます。

  :

  :

 button999.setOnclicklistener(this);

この現在のクラスに Onclicklistener を実装します....

于 2012-05-11T11:01:49.407 に答える
1

アプリで 1000 個のボタンを作成するのが最善の方法であると確信している場合は、次のようになります。

Button [] my_button=new Button[1000];
LinearLayout ll=(LinearLayout)findViewById(R.id.mylayout);
for (int i=0;i<1000;i++){
   my_button[i]=new Button(this);
   my_button[i].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                          LayoutParams.WRAP_CONTENT));
   my_button[i].setText("button "+i);
   ll.addView(my_button[i]);
   my_button[i].setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
         ////click event
      }
   });
}
于 2012-05-11T11:07:29.667 に答える
0

ボタンを動的に好きにするための最良の方法

 Integer[] button_Ids = {R.id.btn000,R.id.btn001...............,R.id.btn999};
 for(int i=0;i<100;i++)
 { 
 Button btn = (Button)findViewById(button_ids[i]);
  btn.setOnClickListner(this);
  }
  @Override
 public void onClick(View v)
         {
         Toast.make(getApplicationContext,"Hello",1000).show();
         }
于 2012-05-11T12:28:18.983 に答える
0

ボタンがクリックされたときに呼び出されるメソッドを定義できるonClickメソッドによって、xmlレイアウトファイルでonClickを設定できる2つのメソッドがあります。このメソッドは、xml でボタンを定義する場合に適しています。

アクティビティにボタンを追加している場合、およびループに追加している場合は、次のようにすることができます

for(int i=0; i<100; i++)
{
   //Create and Add button
   btn.setOnClickListener(new OnClickListener()
   {
       public void onClick(View view)
       {
            //Operations
       }
   });
}
于 2012-05-11T11:07:09.497 に答える
0

ボタンを配列に追加し、ボタンをループするだけで、リスナーで次のコードブロックを呼び出すことができます。

for (int i=0; i < buttonArray.length; ++i){
      buttonArray[i].onClick(this);
}
于 2012-05-11T11:04:02.533 に答える
0

すべてのボタンがまったく同じ機能を持っている場合は、簡単に使用できます

private OnClickListener mListenr=new OnClickListener(
@Override
public void onClick(View v) {
//Whatever you want
}

for(int i=0; i<100; i++)
{
mButton[i].setOnClickListener(mListenr);
}

これを参照して、リスナーを実装する方法を確認できます。

于 2012-05-11T11:44:49.153 に答える