2015-01-06 2 views
0

저는 완벽하게 작동하는 날짜 선택 도구가 포함 된 주력 기능을 가지고 있습니다. 기본 활동에서 선택된 날짜를 기본 활동으로 가져 오기를 원합니다. 코드 아래 itred하지만 내 생각하나의 활동에서 datepicker에서 다른 활동으로 날짜가 전달됩니다.

주요 활동

package com.Blog.blogname; 

import java.util.Calendar; 
import java.util.StringTokenizer; 

//import org.example.androidsdk.demo.DetailActivity; 
//import org.example.androidsdk.demo.MainActivity; 

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

public class Datepicker extends Activity { 
private EditText txtView; 
private String initialDate; 
private String initialMonth; 
private String initialYear; 
private DatePickerDialog dialog = null; 
Context context; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.datepicker); 
    Button btn = (Button) findViewById(R.id.button1); 
    txtView = (EditText) findViewById(R.id.textView1); 
    context = getApplicationContext(); 
    btn.setOnClickListener(new View.OnClickListener() { 

     @SuppressWarnings("deprecation") 
     @Override 
     public void onClick(View v) { 
      Calendar dtTxt = null; 

      String preExistingDate = (String) txtView.getText().toString(); 

      if(preExistingDate != null && !preExistingDate.equals("")){ 
       StringTokenizer st = new StringTokenizer(preExistingDate,"/"); 
        initialMonth = st.nextToken(); 
        initialDate = st.nextToken(); 
        initialYear = st.nextToken(); 
        if(dialog == null) 
        dialog = new DatePickerDialog(v.getContext(), 
            new PickDate(),Integer.parseInt(initialYear), 
            Integer.parseInt(initialMonth), 
            Integer.parseInt(initialDate)); 
        dialog.updateDate(Integer.parseInt(initialYear), 
            Integer.parseInt(initialMonth), 
            Integer.parseInt(initialDate)); 

      } else { 
       dtTxt = Calendar.getInstance(); 
       if(dialog == null) 
       dialog = new DatePickerDialog(v.getContext(),new PickDate(),dtTxt.getTime().getYear(),dtTxt.getTime().getMonth(), 
                dtTxt.getTime().getDay()); 
       dialog.updateDate(dtTxt.getTime().getYear(),dtTxt.getTime().getMonth(), 
                dtTxt.getTime().getDay()); 
      } 

      dialog.show(); 
     } 

    }); 
} 
private class PickDate implements DatePickerDialog.OnDateSetListener { 

    @Override 
    public void onDateSet(DatePicker view, int year, int monthOfYear, 
      int dayOfMonth) { 

     int monthOfYear1 = monthOfYear + 1; 
     String formattedMonth = "" + monthOfYear1; 
     String formattedDayOfMonth = "" + dayOfMonth; 

     if(monthOfYear1 < 10){ 

      formattedMonth = "0" + monthOfYear1; 
     } 
     if(dayOfMonth < 10){ 

      formattedDayOfMonth = "0" + dayOfMonth; 
     } 


     // view.updateDate(year, monthOfYear, dayOfMonth); 
     // txtView.setText(year+"/"+monthOfYear+"/"+dayOfMonth); 

     //view.updateDate(year, formattedMonth, formattedDayOfMonth); 
     txtView.setText(year+"-"+formattedMonth+"-"+formattedDayOfMonth); 

     Intent intent = new Intent(Datepicker.this, SplashActivityDatewiseCurrentAffairs.class); 
     intent.putExtra("Date", year+"-"+formattedMonth+"-"+formattedDayOfMonth); 
     dialog.hide(); 
    } 

} 
} 

초 활동

Intent i = getIntent(); 
String Date = i.getStringExtra("Date"); 
+0

코드가 괜찮은 것 같습니다. 그러면 문제가 무엇입니까? 먼저 Activity라는 이름을 다른 것으로 변경하십시오. –

답변

1

일 didnot startActivity (intent)를 호출하는 것을 잊었습니다

+0

하지만 앱이 강제 종료됩니까 ??? – 1234567

+0

당신의 logcat을 게시하십시오. 매니페스트에 의도를 추가 하시겠습니까? – BeingMIAkashs

관련 문제