我正在尝试制作一个日期转换器,它将在另一个活动中显示一周的日期
我在这里输入日期
private static final int SHOW_SUBACTIVITY = 1;
public void startSubActivity() {
Intent intent = new Intent(this, SubActivity.class);
intent.putExtra("date", mEditText.getText().toString());
startActivityForResult (intent, SHOW_SUBACTIVITY);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = (ETView)findViewById(R.id.editText1);
Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
startSubActivity();
}
}
);
}
此处显示星期几
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
mTextView = (TView)findViewById(R.id.textView);
Date date = new Date();
Calendar c = Calendar.getInstance();
try{
String str_date= getIntent().getExtras().getString("DATE");
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy");
date = (Date)formatter.parse(str_date);
c.setTime(date);
Log.d(TAG, date.toString());
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
String s3 = c.getDisplayName(Calendar.DAY_OF_WEEK, Calendar.LONG, Locale.getDefault());
mTextView.setText(s3);
}catch (Exception e){
mTextView.setText("Wrong input");
}
}
}
问题是,程序总是显示"输入错误"。
答案 0 :(得分:1)
你输入的额外信息称为“日期”,而你输出的额外信息称为“日期”。我愿意打赌parse()
会抛出ParseException
。
确保您正确命名您的演员。
另外,稍微好一点的方法是在第一个活动中进行解析,并将Date
作为Serializable
加putSerializable()而不是字符串。