2011-11-25 41 views
0

所以我想用一个按钮来引导一个新的活动,可以选择两个整数(小时和分钟),而不是设置闹钟。或者也许做些不同的事情来获取这些整数的价值并改变它们?有没有更好的方法来编码?使用按钮触发闹钟

我的代码到目前为止是这样的 - 我是否做得到目前为止?

public class AlarmPtest extends Activity implements android.view.View.OnClickListener{ 
/** Called when the activity is first created. */ 

Button SetAlarm, SetTimer; 
int hours = 1, min = 30; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Vars(); 

} 


private void AlarmClock() { 
    // TODO Auto-generated method stub 
    Intent i = new Intent(android.provider.AlarmClock.ACTION_SET_ALARM); 
    i.putExtra(android.provider.AlarmClock.EXTRA_HOUR, hours); 
    i.putExtra(android.provider.AlarmClock.EXTRA_MINUTES, min); 
    startActivity(i); 

} 


private void Vars() { 
    // TODO Auto-generated method stub 
    SetAlarm = (Button) findViewById(R.id.SetAlarm); 
    SetTimer = (Button) findViewById(R.id.TimerAlarm); 

    SetAlarm.setOnClickListener(this); 
    SetTimer.setOnClickListener(this); 
} 


public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()){ 
    case R.id.SetAlarm: 
     Toast alarmToast = Toast.makeText(this, "you click alarm", Toast.LENGTH_LONG); 
     alarmToast.show(); 
     AlarmClock(); 
    case R.id.TimerAlarm: 
     Toast TimerToast = Toast.makeText(this, "you get 15 min", Toast.LENGTH_LONG); 
     TimerToast.show(); 
     hours = 0 ; 
     min = 15; 
     AlarmClock(); 
    } 
} 

}

回答

1

你的代码是正确的,因为你的小时和分钟将被放在警报意图中。如果用户安装了Android SDK,则会设置警报> = 9

顺便提一下,Java和Android中的常见代码约定是编写以smallLetters开头的函数名称。因此,将您的功能更改为:

private void alarmClock() 
private void vars() 

否则,人们可能会得到您提及某个班级的印象。同样的约定用于变量名称,所以你也想要改变你的按钮,以及:

Button setAlarm, setTimer; 
+0

好的,谢谢! :)它不会让我添加一个点,因为我太新,但是。那么我应该通过一个不同的事件吗?或者只是在同一个类中使用一个函数 – domshyra

+0

不需要通过不同的类传递它,只需在现有类中使用这些函数即可。祝你好运 – Entreco

0

你可能会想使用TimePicker。这提供了一个很好的界面来选择闹钟的时间。它发生在AlertDialog类型的界面中,因此您不需要启动新的Activity来选择时间。

+0

我想使用AlertDialog类型的东西,但只处理数字而不是时间格式。就像机器人的股票,换句话说,不是在早上6点(当前时间5点)选择设置和闹钟,而是将闹钟设置为1小时,并将时间设置为凌晨5点22分早上6点或6点22分。 – domshyra