我得到findViewById錯誤,當我使用它的按鈕。我知道該函數是在Activity類中聲明的,但是如何在不擴展Activity類的情況下實現該函數。我有另一個類擴展了Activity,但是我不能將它用於我的Button Activity,因爲我需要的變量在這個Activity中。findViewById是未定義的類型錯誤
這裏是我的類:
public class Activity_Sec extends BroadcastReceiver{
private static final String LOGCAT = null;
Button b1;
final SmsManager sms = SmsManager.getDefault();
public void onReceive(Context context, Intent intent) {
final Bundle bundle = intent.getExtras();
try { if (bundle != null) {
final Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj.length; i++) {
final MediaPlayer mp = MediaPlayer.create(context,R.raw.hospital_alarm);
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
String phoneNumber = currentMessage.getDisplayOriginatingAddress();
String senderNum = phoneNumber;
String message = currentMessage.getDisplayMessageBody();
Log.i("SmsReceiver", "senderNum: "+ senderNum + "; message: " + message);
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, "senderNum: "+ senderNum + ", message: " + message, duration);
toast.show();
String serverNumber= "+9198xxxxxxx";
b1 = (Button)findViewById(R.id.button1);
if(senderNum.equals(serverNumber)){
Toast toast1 = Toast.makeText(context,"alert message received!!!!",Toast.LENGTH_LONG);
toast1.show();
mp.start();
}
b1.setOnClickListener(new OnClickListener(){ public void onClick(View v){
String phoneNumber = "+9198xxxxxxxx";
String message = "Ambulance sent!";
mp.stop();
mp.release();
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
}});
}
}} catch (Exception e) { Log.e("SmsReceiver", "Exception smsReceiver" +e); }
}
}
如果我這樣做,它說,該型廣播接收器不能Activity_Sec的超接口;一個超級接口必須是一個接口。 – user3359953