2017-09-09 1 views
0

그림으로 표시된대로 25 개의 버튼이있는 안드로이드에서 빙고 게임을 만들고 있습니다. here is the layout 이제 버튼을 클릭 할 때마다 클릭 된 버튼에 1에서 25까지의 숫자가 나타나야합니다. 문제는 하나의 함수를 작성하려고 할 때 발생합니다. '내가 클릭 한 버튼 - 오브젝트가 호출되어야 함 -> 버튼 텍스트 만 숫자로 설정되어야합니다.' 이것은 MainActivity.java 파일입니다.안드로이드에서 버튼 클릭으로 빙고 게임에 번호가 표시됩니다.

public class MainActivity extends AppCompatActivity { 

    //made 25 objects for 25 buttons 
    public static int cnt=0; 

    //button array 
    Button butt[]={b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25}; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
     } 

     public void show(View view) 
       { 
        cnt++; 
        if(cnt<26) 
        { 
        b1.setText(cnt); //what should i write here for different 
             //button objects, so that text for each button 
             //is set on clicking, without defining 25 
             //different functions 
         } 
        } 
     } 

모든 버튼을 클릭 할 때마다 컨트롤이 표시됩니다().

모든 버튼을 클릭 한 후 출력에는 각 상자에 1에서 25까지의 숫자가 있어야합니다. 도와주세요!

답변

0

당신은 배열의 OnClickListener를 foreach 문 버튼을 설정할 수 있습니다

public void show(View view) 
        { 
         cnt++; 
         if(cnt<26) 
         { 

          for(int i = 0; i<butt.length; i++){ 

           final Button b = butt[i]; 

           b.setOnClickListener(new View.OnClickListener() { 

            @Override 
            public void onClick(View v) { 

             b.setText("Some number"); 
            } 
           }); 
          } 
         } 
        } 
+0

을 감사 이봐! 그것은 일했다!! – Shivani

+0

내 기쁨입니다. –

관련 문제