2017-12-08 1 views
0

안녕하세요, 버튼을 동적으로 만들고 이제이 버튼 중 하나가 클릭되면 다른 레이아웃으로 전달하지만 싶지 않습니다. 어쩌면 누군가가 나에게 솔루션을 제공 당신에게 에서 onCreate 감사 할 수 있습니다 수업 시간에View.OnClickListener 및 동적 버튼을 사용하여 다른 레이아웃으로 전달하는 방법은 무엇입니까?

에서 onCreate 방법 밖에
enter code here//-------------------Creating Buttons as per in server ------------------------------- 
     final Button[] myButton = new Button[jsonArray.length()]; 
     int count = jsonArray.length(); 
     for (int i = 0; i < jsonArray.length(); i++) { //upside down -> HAFUH 
     // for (int i = jsonArray.length(); i > 0 ; i--) { 
      final Button rowButton = new Button(this);// create a new button 

      --count;//to upside down the buttons, that mean: check last will be on Top 

     // rowButton.setText(dateIn[count] + " KM: "+ kmIn[count]+" GAS: "+ gasIn[count]); 
      rowButton.setText("KM: "+ kmIn[count]+" GAS: "+ gasIn[count]+" "+dateIn[count]); 
      rowButton.setId(Integer.parseInt(idIn[count]));//string convert to int "ID" 
      /*-----------Build onClick and what happened after ------------*/ 
      rowButton.setOnClickListener(btnClick(myButton[i]));//WHEN Click on button 
      /*-------------FINISH Build onClick and what happened after---*/ 
      b.addView(rowButton); 
      // save a reference to the button for later 
      myButton[i] = rowButton; 

     }//end for jsonArray 
     /************Finish Creating Buttons as per in server**********************************/ 
    }//END IF FOR JSON AND BUILD BUTTON 
}//End Create Button 

이 :

enter code hereprivate View.OnClickListener btnClick(final Button button) { 
    return new View.OnClickListener(){ 
     public void onClick(View v){ 
      Intent intent = new Intent(this,GalleryHistoryCheckIn.class); 
      startActivity(intent); 
     } 
    }; 
} 

난 그냥 다른 클래스에 전달 기대하는을

답변

0

하하 I 내 문제가 뭔지 이해,이 대답은 방법 onCreate : 최종 버튼 [] myButton = 새 버튼 [jsonArray.length()];

 int count = jsonArray.length(); 
     for (int i = 0; i < jsonArray.length(); i++) { //upside down -> HAFUH 
     // for (int i = jsonArray.length(); i > 0 ; i--) { 
      final Button rowButton = new Button(this);// create a new button 

      --count;//to upside down the buttons, that mean: check last will be on Top 

     // rowButton.setText(dateIn[count] + " KM: "+ kmIn[count]+" GAS: "+ gasIn[count]); 
      rowButton.setText("KM: "+ kmIn[count]+" GAS: "+ gasIn[count]+" "+dateIn[count]); 
      rowButton.setId(Integer.parseInt(idIn[count]));//string convert to int "ID" 
      /*-----------Build onClick and what happened after ------------*/ 
      // rowButton.setOnClickListener(btnClick(myButton[i]));//WHEN Click on button 
      /*-------------FINISH Build onClick and what happened after---*/ 
      b.addView(rowButton); 
      // save a reference to the button for later 
      myButton[i] = rowButton; 
      myButton[i].setOnClickListener(btnClick(rowButton)); 
     }//end for jsonArray 
     /************Finish Creating Buttons as per in server**********************************/ 
    }//END IF FOR JSON AND BUILD BUTTON 
}//End Create Button 

외부 생성에의하지만 클래스 :

private View.OnClickListener btnClick(final Button button) { 
    return new View.OnClickListener(){ 
     public void onClick(View v){ 
      Intent intent = new Intent(v.getContext(),GalleryHistoryCheckIn.class); 
      intent.putExtra("result", v.getId()); 
      startActivity(intent); 
     } 
    }; 
} 
관련 문제