2016-07-05 8 views
0

Eine der Aktivitäten in meiner App hat drei Tasten und ich habe einen Schalter verwendet, um sie zu codieren. Ich habe den fast identischen Code mehrmals in meiner App verwendet, aber dieser bestimmte funktioniert nicht. Wenn ich zu diesem Bildschirm navigiere und auf eine der drei Schaltflächen klicke, passiert nichts.buttonOnClick-Schalter funktioniert nicht

Hier ist der Code, der nicht funktioniert:

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

Bitte fügen Sie auch Ihre xML-Datei. –

Antwort

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

Dies setzt die OnClickListener die Aktion in der onClick Methode aktivieren.

0

Fügen Sie diese Zeile in die Schaltflächen in der Layout-XML-Datei: android: onClick = „buttonOnClick“

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

Eine Möglichkeit, dies zu erreichen Ihre Klasse OnClickListener implementieren zu machen ist, und dann hinzufügen um Ihre Schaltflächen wie folgt aus:

Beispiel:

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

} 
Verwandte Themen