意图麻烦

时间:2014-10-21 13:31:47

标签: android android-intent

我正在尝试制作一个日期转换器,它将在另一个活动中显示一周的日期

我在这里输入日期

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");
        }
}
}

问题是,程序总是显示"输入错误"。

1 个答案:

答案 0 :(得分:1)

你输入的额外信息称为“日期”,而你输出的额外信息称为“日期”。我愿意打赌parse()会抛出ParseException

确保您正确命名您的演员。

另外,稍微好一点的方法是在第一个活动中进行解析,并将Date作为SerializableputSerializable()而不是字符串。