2014-02-10 68 views
1

我正在開發一個Android應用程序&我現在被卡住了。該應用程序有一個EditText,Button和兩個DatePickers。我希望用戶插入一個數字,然後在第一個DatePicker上選擇一個日期,並且當選擇該按鈕時,我希望插入的數字與所選日期一起添加。示例:如果用戶在EditText上插入4並在DatePicker上選擇2014年2月10日,則新日期應爲2014年2月14日「4 + 10 = 14」我希望新日期顯示在第二個DatePicker &上,不可編輯。請幫我Android開發,在DatePicker中使用EditText

+0

請告訴我們你的代碼。 – Codeman

+0

我還沒有代碼,但我相信你可以幫助我,我只需要一個用戶插入一個值,然後將該值添加到選定的日期並顯示一個新的日期。 – Learner

回答

0

我不知道如果這是你在找什麼,但是我編寫了一個樣品給你。

MainActivity.java

public class MainActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main_activity); 

     findViewById(R.id.computeDate).setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       EditText days = (EditText) findViewById(R.id.daysEditText); 
       DatePicker datePicker = ((DatePicker) findViewById(R.id.datePicker)); 

       Calendar cal = Calendar.getInstance(); 
       cal.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth()); 
       cal.set(Calendar.MONTH, datePicker.getMonth()); 
       cal.set(Calendar.YEAR, datePicker.getYear()); 
       cal.add(Calendar.DAY_OF_YEAR, Integer.parseInt(days.getText().toString())); 

       DatePicker computedDatePicker = ((DatePicker) findViewById(R.id.computedDatePicker)); 
       computedDatePicker.updateDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH)); 
      } 
     }); 
    } 
} 

main_activity.xml

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <EditText 
      android:id="@+id/daysEditText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="number" 
      android:ems="10" 
      android:layout_gravity="center_horizontal" /> 

     <DatePicker 
      android:id="@+id/datePicker" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:calendarViewShown="false" 
      android:layout_gravity="center_horizontal" /> 

     <Button 
      android:id="@+id/computeDate" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Compute" 
      android:layout_gravity="center_horizontal" /> 

     <DatePicker 
      android:id="@+id/computedDatePicker" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:calendarViewShown="false" 
      android:layout_gravity="center_horizontal" /> 

    </LinearLayout> 

</ScrollView> 
+0

謝謝,作品完美。上帝保佑你 – Learner

+0

因此,標記我的答案是正確的:) –

0

試試這個:

final SimpleDateFormat dateFormatUs = new SimpleDateFormat("yyyy-mm-dd", Locale.US); 

private void changeDate() { 
     Calendar calendar = Calendar.getInstance(); 
     String date = editText.getText().toString(); 
       /*make your counts*/ 

     Date dataSet = null; 
     try { 
       dataSet = dateFormatUs.parse(date); 
     } catch (ParseException e) { 
       e.printStackTrace(); 
     } 
     calendar.setTime(dataBeginSet); 

    } 
相關問題