2016-05-02 12 views
-1

私は目覚まし時計に取り組んでいます。このクラスは時間と分を素早く選択するためのもので、意図が戻ってきます。その目的はsetForresult()何らかの理由で、ボタンを押してアクティビティを再作成する時間を設定し、もう一度入力する必要がありますが、2回目はそれが想定していたことをします。アラームのあなたのOnclicklistener終了()を呼び出すときに意図が終了していません

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

(下記参照)

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

ダムを、私はupvoteを取得that.Youに時間のばかげ量を無駄にお願いします。 –

+0

@K ..あなたは答えとしてそれをチェックする必要があります:D –

+0

悪い皆さんに投票してください。 –

0

以下のコードを使用し削除します。私は私が疲れでなければならないことがわかりdidntの信じるカント

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