저는 완벽하게 작동하는 날짜 선택 도구가 포함 된 주력 기능을 가지고 있습니다. 기본 활동에서 선택된 날짜를 기본 활동으로 가져 오기를 원합니다. 코드 아래 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");
코드가 괜찮은 것 같습니다. 그러면 문제가 무엇입니까? 먼저 Activity라는 이름을 다른 것으로 변경하십시오. –