2016-07-05 2 views
0

私のアプリケーションのアクティビティの1つに3つのボタンがあり、スイッチを使ってそれらをコード化しました。私は、アプリ内でほぼ同じコードを数回使ってきましたが、この特定のコードはうまくいきません。この画面に移動して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はonClickの方法でアクションをアクティブに設定します。

0

レイアウト.xmlファイルであなたのボタンに次の行を追加します。 アンドロイド:これを達成するのonClickは=「buttonOnClick」

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

一つの方法は、あなたのクラスがOnClickListenerを実装し、それを追加することです

例:このようなあなたのボタンに

//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; 
} 

} 
関連する問題