2014-04-17 32 views
1

下面是我的代碼:EditText(文本框)不能在鬧鐘應用程序中工作?

import java.util.Calendar; 

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.view.Window; 
import android.widget.Button; 
import android.widget.EditText; 

public class AlarmMainActivity extends Activity { 
    Calendar cal = Calendar.getInstance(); 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.main); 

    Button set = (Button)findViewById(R.id.button1); 
    EditText Time = (EditText)findViewById(R.id.time); 
    int n =Integer.parseInt(Time.getText().toString()); 

    //Create an offset from the current time in which the alarm will go off. 
    cal.add(Calendar.SECOND, 10); 

    //Create a new PendingIntent and add it to the AlarmManager 
    Intent intent = new Intent(this, AlarmReceiverActivity.class); 
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 
     n, intent, PendingIntent.FLAG_CANCEL_CURRENT); 
    AlarmManager am = 
     (AlarmManager)getSystemService(Activity.ALARM_SERVICE); 
    am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 
      pendingIntent);  
} 

}

會發生什麼在此代碼是在目前的時間爲10秒,這個應用程序會自動設置報警。我希望該用戶在需要多少秒後進入。我嘗試了,並在cal.add(Calendar.SECOND, 10);代替10,但它不工作。

+0

您的問題是什麼? _it不工作?_表示給出所有詳細信息 –

+0

我希望用戶輸入此plz編輯我的代碼 –

+0

您必須移動此行'int n = Integer.parseInt(Time.getText()。toString());'on some '按鈕點擊'事件,然後做你的東西 –

回答

1

以及你可以做一兩件事,我已經創建了一個另一個類

Home.java

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class Home extends Activity{ 

    static int n = 0; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.home); 


     Button go = (Button)findViewById(R.id.button1); 
     go.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       EditText sec = (EditText)findViewById(R.id.editText1); 
       n = Integer.parseInt(sec.getText().toString()); 
       Intent go = new Intent("com.nerdwin15.demo.alarmdemo.AlarmMainActivity"); 
       startActivity(go); 
      } 
     }); 
    } 

} 

AlarmMainActivity.java

public class AlarmMainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.main); 

     //Create an offset from the current time in which the alarm will go off. 
     Calendar cal = Calendar.getInstance(); 
     cal.add(Calendar.SECOND, Home.n); 

     //Create a new PendingIntent and add it to the AlarmManager 
     Intent intent = new Intent(this, AlarmReceiverActivity.class); 
     PendingIntent pendingIntent = PendingIntent.getActivity(this, 
      12345, intent, PendingIntent.FLAG_CANCEL_CURRENT); 
     AlarmManager am = 
      (AlarmManager)getSystemService(Activity.ALARM_SERVICE); 
     am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 
       pendingIntent); 
    } 

} 

現在,你在家庭課上輸入你的時間,然後再去另一個。請務必在清單中更改您的LAUNCHER它應該是Home.java

2

你必須把這個int n =Integer.parseInt(Time.getText().toString());在一些Button click事件

像下面

ib_load.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
    int n =Integer.parseInt(Time.getText().toString()); 
    cal.add(Calendar.SECOND, n); 

    } 
});