Datepicker对话框中的运行时Textview问题

时间:2011-07-15 07:05:53

标签: android android-2.2-froyo

是否可以创建单个运行时Textview并在OnClick显示DatePicker Dialog时设置日期时显示结果为TextView

2 个答案:

答案 0 :(得分:2)

 private int mYear;
 private int mMonth;
 private int mDay;
 private TextView mDateDisplay;
 static final int DATE_DIALOG_ID = 0;

 public void onCreate(Bundle savedInstaneState){
        super.onCreate(savedInstaneState);

 setContentView(R.layout.main);  

 mDateDisplay = (TextView) findViewById(R.id.datepicker); 

 mDateDisplay.setOnClickListener(this);


    // get the current date
    final Calendar c = Calendar.getInstance();
    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH);
    mDay = c.get(Calendar.DAY_OF_MONTH);


    }

public void onClick(View v) {

     showDialog(DATE_DIALOG_ID);         
}   
private void updateDisplay() {
    this.mDateDisplay.setText(
        new StringBuilder()
                // Month is 0 based so add 1
                .append(mMonth + 1).append("-")
                .append(mDay).append("-")
                .append(mYear).append(" "));
}
 private DatePickerDialog.OnDateSetListener mDateSetListener =
        new DatePickerDialog.OnDateSetListener() {
            public void onDateSet(DatePicker view, int year, 
                                  int monthOfYear, int dayOfMonth) {
                mYear = year;
                mMonth = monthOfYear;
                mDay = dayOfMonth;
                updateDisplay();
            }
        };
        @Override
        protected Dialog onCreateDialog(int id) {
           switch (id) {
           case DATE_DIALOG_ID:
              return new DatePickerDialog(this,
                        mDateSetListener,
                        mYear, mMonth, mDay);
           }
           return null;
        }

xml是

<TextView android:text="Select date"
  android:id="@+id/datepicker" 
  android:layout_width="wrap_content" 
  android:textStyle="bold"
  android:textSize="28dip"
  android:editable = "true"
  android:clickable="true"
  android:layout_height="wrap_content"/>

答案 1 :(得分:0)

我得到了这个答案...... 我们必须传递我们想要显示的文本视图,就像我们在点击之前设置了“选择日期”一样,在显示对话框之后我们要在文本中设置的日期视图应该通过引用相同的文本视图传递文本视图对象....