2016-05-02 3 views
-1

Я работаю над будильником, и этот класс должен быстро выбрать час и минуту, и он пошлет его обратно, цель, из которой я использовал setForresult(), но для по какой-то причине, когда я нажимаю кнопку, чтобы установить время, когда она воссоздает активность, и я должен ввести ее снова, но во второй раз он делает то, что должен был.Намерение не заканчивается при вызове finish()

package com.bignerdranch.android.alarm; 

import android.app.AlarmManager; 
import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TimePicker; 

public class setAlarmTimes extends AppCompatActivity { 
AlarmManager manager; 
private TimePicker myTimePicker; 
private static final String TAG = "MYTAG"; 
private static Button sendVals; 
int hour,minute; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_set_alarm_times); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    Log.i(TAG,"in ONCREATE"); 
    myTimePicker = (TimePicker) findViewById(R.id.timePicker); 
    sendVals = (Button)findViewById(R.id.setAlarmValuesButton); 

    sendVals.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent sent = new Intent(setAlarmTimes.this,setAlarmList.class); 
      hour = myTimePicker.getCurrentHour(); 
      minute = myTimePicker.getCurrentMinute(); 
      sent.putExtra("HOUR",hour); 
      sent.putExtra("MINUTE",minute); 
      setResult(setAlarmList.REQUEST_CODE, sent); 
      Log.i(TAG, "IMPORTANT VALUES _____" +hour + minute); 
      finish(); 
      Log.i(TAG,"shouldnt ovvur"); 
     } 
    }); 





    Log.i(TAG,"Hour and min is " + hour+ ":"+ minute); 




} 

} 



package com.bignerdranch.android.alarm; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.widget.Button; 

public class setAlarmList extends AppCompatActivity { 
private static Button addAlarm; 
private static Button removeAlarm; 
public static final int REQUEST_CODE= 1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_set_alarm_list); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 

    addAlarm = (Button) findViewById(R.id.myAddButton); 
    removeAlarm = (Button) findViewById(R.id.myRemoveButton); 

    addAlarm.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent getTimes = new  Intent(setAlarmList.this,setAlarmTimes.class); 
      startActivity(getTimes); 
      startActivityForResult(getTimes,REQUEST_CODE); 
     } 
    }); 


} 

} 

ответ

1

в вашем Onclicklistener тревоги (смотри ниже)

addAlarm.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Intent getTimes = new  Intent(setAlarmList.this,setAlarmTimes.class); 
     startActivity(getTimes); // here remove it 
     startActivityForResult(getTimes,REQUEST_CODE); // here retain it 
    } 
}); 

вы начинаете свою деятельность в два раза, вы должны использовать только startActivityForResult. Удалите startActivity(getTimes)

+0

плотины я не могу поверить, я не видел, что я должен быть уставшим, спасибо я потратил Rediculous количество времени на that.You получить upvote. –

+0

@K .. вам нужно проверить это как ответ: D –

+0

Да, плохо, всякий, голосуя сейчас сейчас = (. –

0

использовать код ниже:

addAlarm.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
    Intent getTimes = new Intent(setAlarmList.this,setAlarmTimes.class); 
    startActivityForResult(getTimes,REQUEST_CODE); 
} 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^