2013-05-09 2 views
0

내 앱에 datepicker를 통합하기 위해 this tutorial을 따라갔습니다. 내 요구 사항에 맞게 원본을 맞춤화하여 작동하도록 관리했습니다. 불행하게도 저자는 실제로 DatePicker 대화 상자를 사용하는 개념에 지나치게 신경 쓰지 않습니다.Android DatePicker 초기화시 전체 화면 표시

결과적으로 앱이 실행될 때 전체 화면 캘린더가 표시되는 반면 'Choose Date'버튼을 클릭하면 일, 월, 년을 끌어 내려고하는 중일뿐입니다. 무엇을 제거해야합니까? 여기

코드 : codei의 실행, 나는 다른 관련없는 기능을 많이 잘라 때 구문 오류를 치면

public class MainActivity extends Activity implements OnClickListener, 
     OnCheckedChangeListener { 

    TabHost th; 

    Button changeDate; 


    TextView displayDate; 
    public static final int dDialogId = 1; 
    // date and time 
    private int mYear; 
    private int mMonth; 
    private int mDay; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     // Set activity to full screen!! 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
       WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     th = (TabHost) findViewById(R.id.tabhost); 

     th.setup(); 
     TabSpec specs = th.newTabSpec("tag1"); 
     // one tab 
     specs.setContent(R.id.tab1); 
     // what appears on actual tab 
     specs.setIndicator("Tools"); 
     th.addTab(specs); 
     specs = th.newTabSpec("tag2"); 
     // one tab 
     specs.setContent(R.id.tab2); 
     // what appears on actual tab 
     specs.setIndicator("Calorie Calculator"); 
     th.addTab(specs); 
     specs = th.newTabSpec("tag3"); 
     // one tab 
     specs.setContent(R.id.tab3); 
     // what appears on actual tab 
     specs.setIndicator("Your Stats!"); 
     th.addTab(specs); 

     initializeVariables(); 
} 


    private void initializeVariables() { 

     mapARun = (Button) findViewById(R.id.btnMapARun); 
     weightConverter = (Button) findViewById(R.id.btnWeightConverter); 

     changeDate = (Button) findViewById(R.id.btnChangeDate); 
     displayDate = (TextView) findViewById(R.id.tvDisplayDate); 

     changeDate.setOnClickListener(this); 

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

     updateDisplay(); 
    } 

    @Override 
    @Deprecated 
    protected void onPrepareDialog(int id, Dialog dialog) { 
     // TODO Auto-generated method stub 
     super.onPrepareDialog(id, dialog); 

     ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay); 

    } 

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

    private void updateDisplay() { 
     displayDate.setText(new StringBuilder() 
       // Month is 0 based so add 1 
       .append(mMonth + 1).append("-").append(mDay).append("-") 
       .append(mYear)); 

    } 



     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 

    } 

    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 

     case R.id.btnChangeDate: 
      DatePickerDialog DPD = new DatePickerDialog(this, 
        mDateSetListener, mYear, mMonth, mDay); 
      DPD.show(); 
      break; 

     } 

    } 



    } 

} 

사과,

단지를 표시하는 또 다른 방법이 있나요 datepicker 때 대화가 호출됩니까?

답변

0

버튼만으로 기본 카테고리를 만들 수 있습니다. 버튼이 코드로 다른 활동을 호출하도록합니다. 전체 화면 데이트 피커가있는 다른 화면을 호출하는 버튼이있는 화면이 표시됩니다.

날짜를 선택하면 DatePicker 활동이 종료됩니다. startActivityForResult로 활동을 호출하고 finishWithResult로 끝내야합니다.

+0

버튼을 '미니'날짜 선택기를 호출하도록 설정할 수있는 방법이 없습니다. 앱을 설정하는 방식으로 날짜 설정 만위한 별도의 전체 활동을 실행하고 싶지는 않습니다. – dyatesupnorth