报警应用Android

时间:2012-06-30 13:45:53

标签: android android-alarms

我正在尝试制作警报应用程序,并在线发现此代码。但是当我将它复制到eclipse中时,它在startAlert方法上给出了一个错误,并说" void是变量startAlert"的无效类型。

package tanvi.alarm;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

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

        public void startAlert(View view) {
            EditText text = (EditText) findViewById(R.id.editText1);
            int i = Integer.parseInt(text.getText().toString());
            Intent intent = new Intent(this, MyBroadcastReceiver.class);
            PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 234324243, intent, 0);
            AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
            alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
                    + (i * 1000), pendingIntent);
            Toast.makeText(this, "Alarm set in " + i + " seconds",
                    Toast.LENGTH_LONG).show();

    }
}

2 个答案:

答案 0 :(得分:1)

函数startAlert应位于onCreate ..

之外
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          startAlert(view ); //<--------- no need to pass view if function is on same activity 
    }




    public void startAlert(View view) {
                EditText text = (EditText) findViewById(R.id.editText1);
                int i = Integer.parseInt(text.getText().toString());
                Intent intent = new Intent(this, MyBroadcastReceiver.class);
                PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 234324243, intent, 0);
                AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
                alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
                        + (i * 1000), pendingIntent);
                Toast.makeText(this, "Alarm set in " + i + " seconds",
                        Toast.LENGTH_LONG).show();


}

答案 1 :(得分:0)

您应该将该函数放在onCreate()方法下,然后在onCreate()方法中调用它。