2015-05-17 33 views
-1

如何爲每個按鈕編寫完整的代碼,就像我爲button1做的一樣? 我想從button1中調用多個按鈕的方法。從多個按鈕調用相同的方法

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

    Button one = (Button) findViewById(R.id.button1); 
    one.setOnClickListener(this); // calling onClick() method 

} 

@Override 
public void onClick(View v) { 
    String phoneNumber = ((EditText) findViewById(R.id.editView4)).getText().toString(); 

    try { 
     { 
      SmsManager.getDefault().sendTextMessage(phoneNumber, null, "A", null, null); 
     } 

    } catch (Exception e) { 
     AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
     AlertDialog dialog = alertDialogBuilder.create(); 
     dialog.setMessage(e.getMessage()); 
     dialog.show(); 

    } 
} 


public void Openinformation(View view) { 
    setContentView(R.layout.information); 
} 
} 
+0

你想要做什麼?你想同樣的方法從多個按鈕或掃描? – Pankaj

+0

是iwant從多個按鈕調用同樣的方法,但每個按鈕將發送不同的消息,如按鈕1發送A按鈕2發送B等等 – QasimCool

回答

0

你可以做同樣的,你沒有其他按鈕,按鈕:

Button one = (Button) findViewById(R.id.button1); 
one.setOnClickListener(this); // calling onClick() method 
Button two = (Button) findViewById(R.id.button2); 
two.setOnClickListener(this); // calling the same onClick() 
0

您可以將所有使用相同的OnClickListener然後檢查點擊了哪個視圖來確定要發送的消息

@Override 
public void onClick(View v) { 
    String phoneNumber = ((EditText) findViewById(R.id.editView4)).getText().toString(); 

    try { 
     String message; 
     if (v.getId() == R.id.button1) { 
      message = "A"; 
     } 
     else if (v.getId() == R.id.button2) { 
      message = "B"; 
     } 

     SmsManager.getDefault().sendTextMessage(phoneNumber, null, message, null, null); 
    } catch (Exception e) { 
     AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
     AlertDialog dialog = alertDialogBuilder.create(); 
     dialog.setMessage(e.getMessage()); 
     dialog.show(); 

    } 
}