我使用了belove代码来更改应用程序的屏幕点击按钮。
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, App2Activity.class);
startActivity(intent);
}
});
}
我想在同一个按钮上添加另一个函数,以编程方式发送短信。 我改变了上面这样的代码。但它不起作用。
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, App2Activity.class);
startActivity(intent);
}
});
}
protected void onCreate1(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendSMS();
}
});
}
private void sendSMS()
{
try {
SmsManager sms = SmsManager.getDefault();
ArrayList<String> smsString = sms.divideMessage("XXXX");
sms.sendMultipartTextMessage("XXXXX", null, smsString, null, null);
Toast.makeText(getBaseContext(), "SMS Sent..", Toast.LENGTH_SHORT).show();
}
catch(Exception exp){
Toast.makeText(getBaseContext(), "SMS sending failed...",Toast.LENGTH_SHORT).show();
}
}
任何人都可以帮我解决这个问题。
我想将两个功能添加到同一个按钮,同时工作
答案 0 :(得分:0)
该按钮只有一个clicklistener。在其中你编写了两个函数。
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
sendSMS();
Intent intent = new Intent(context, App2Activity.class);
startActivity(intent);
}
});
}
如果你想这样做,可以将sendSMS()函数并行放在一个线程中。
答案 1 :(得分:0)
您没有在任何地方调用onCreate1
,因此其中的代码永远不会运行。这就是为什么永远不会添加第二个听众的原因。即使它被调用,按钮也只能有一个监听器。您可以在开始新活动之后或之前致电sendSMS
:
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, App2Activity.class);
startActivity(intent);
sendSMS(); // here!
}
});