2016-07-05 2 views
0

내 앱의 액티비티 중 하나에 3 개의 버튼이 있으며 코드를 전환하기 위해 스위치를 사용했습니다. 내 앱에서 거의 동일한 코드를 여러 번 사용했지만이 특정 코드는 작동하지 않습니다. 이 화면으로 이동하여 세 버튼 중 하나를 클릭해도 아무런 변화가 없습니다.buttonOnClick 스위치가 작동하지 않습니다.

public void buttonOnClick(View view){ 
     switch(view.getId()){ 
      case R.id.generalPrefabButton: 
       Intent generalPrefabScreen = new Intent(); 
       generalPrefabScreen.setClass(this, General_Prefab_Order.class); 
       startActivity(generalPrefabScreen); 
       break; 
      case R.id.conduitBendButton: 
       Intent conduitBendScreen = new Intent(); 
       conduitBendScreen.setClass(this, Conduit_Bend_Order.class); 
       startActivity(conduitBendScreen); 
       break; 
      case R.id.safetyReportButton: 
       Intent safetyReportScreen = new Intent(); 
       safetyReportScreen.setClass(this, Safety_Report.class); 
       startActivity(safetyReportScreen); 
     } 
    } 
+0

너무 XML 파일을 추가하십시오. –

답변

0
Button button = new Button(R.id.generalPrefabButton); 
button.setOnClickListener(this); 

이는 OnClickListener를가 온 클릭 방식의 액션을 활성화 설정 :

다음은 작동하지 않는 코드입니다.

0

레이아웃 .xml 파일에 버튼이 줄을 추가 안드로이드 : onclick을 = "buttonOnClick"이 클래스는 OnClickListener를 구현하고 추가하는 것입니다 달성

<Button 
    android:id="@+id/button" 
    android:onClick="buttonOnClick" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
/> 
1

한 가지 방법을 이처럼 버튼에 :

예 :

//make your class implement OnClickListener  
public class MyClass implements OnClickListener{ ... //Create your buttons and set their onClickListener to "this"  

Button generalPrefabButton = (Button) findViewById(R.id.buttonplay); 
generalPrefabButton.setOnClickListener(this); 

Button conduitBendButton = (Button) findViewById(R.id.buttonstop); 
conduitBendButton.setOnClickListener(this); ... 

//implement the onClick method here 
public void onClick(View v) { 
// Perform action on click 
switch(v.getId()) { 

case R.id.generalPrefabButton: 
Intent generalPrefabScreen = new Intent(); 
generalPrefabScreen.setClass(this, General_Prefab_Order.class); 
startActivity(generalPrefabScreen); 
break; 

case R.id.conduitBendButton: 
Intent conduitBendScreen = new Intent(); 
conduitBendScreen.setClass(this, Conduit_Bend_Order.class); 
startActivity(conduitBendScreen); 
break; 

case R.id.safetyReportButton: 
Intent safetyReportScreen = new Intent(); 
safetyReportScreen.setClass(this, Safety_Report.class); 
startActivity(safetyReportScreen); 
break; 
} 

} 
관련 문제