2017-01-19 15 views
-2

私は自分のプロジェクトにこだわっています。私はdatepicker形式のヘルプを求めています。私はTextViewにフルフォーマットで私のものを表示することができました。日付ピッカーの形式android

しかし、Javaでコーディングを行った後、日付ピッカーを呼び出して新しい日付を選択すると、たとえば短い形式で更新されます。

現在の日付Friday, January, 20 2017日付ピッカーを使用した後に、それは私はそれがいっぱいに表示する20-1-17

を示し、以下、助けてください私のJavaコードは、あなたのTextViewが20-1を示した理由

public class EntryEdit extends AppCompatActivity { 

TextView textView; 
int year_x, month_x, day_x; 
static final int DIALOG_ID = 0; 

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

    final Calendar cal = Calendar.getInstance(); 
    year_x = cal.get(Calendar.YEAR); 
    month_x = cal.get(Calendar.MONTH); 
    day_x = cal.get(Calendar.DAY_OF_MONTH); 

    showDialogOnTextViewClick(); 

    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    String currentDateString = DateFormat.getDateInstance(DateFormat.FULL).format(new Date()); 

    TextView textView = (TextView) findViewById(R.id.date); 
    textView.setText(currentDateString); 

} 

public void showDialogOnTextViewClick() { 
textView = (TextView) findViewById(R.id.date); 

    textView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      showDialog(DIALOG_ID); 

     } 
    }); 
} 

@Override 
protected Dialog onCreateDialog(int id) { 

    if (id == DIALOG_ID) 
     return new DatePickerDialog(this, dpickerListener, year_x, month_x, day_x); 
    return null; 
} 

private DatePickerDialog.OnDateSetListener dpickerListener 
= new DatePickerDialog.OnDateSetListener() { 
    @Override 
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { 

     year_x = year; 
     month_x = month +1; 
     day_x = dayOfMonth; 

     String currentDateString = DateFormat.getDateInstance(DateFormat.FULL).format(new Date()); 

     updateStartDisplay(); 


    } 
}; 

private void updateStartDisplay() { 
    textView.setText(new StringBuilder() 
      // Month is 0 based so add 1 
      .append(day_x + 1).append("-").append(month_x).append("-") 
      .append(year_x).append(" ")); 

} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu2, menu); 
    return true; 
} 
+0

ようこそ:

は、ここに1つの可能なソリューションです!最初に[ツアー(http://stackoverflow.com/tour)に参加して[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を学んで[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例を参照してください。そうすれば、私たちがあなたを助けやすくなります。 –

答えて

1

です-2017は、DatePickerで日付を選択するたびにupdateStartDisplay()メソッドを呼び出すため、具体的にはテキストをday-month-yearに設定するためです。スタックオーバーフローへ

private DatePickerDialog.OnDateSetListener dpickerListener 
     = new DatePickerDialog.OnDateSetListener() { 
    @Override 
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { 

     year_x = year; 
     month_x = month; 
     day_x = dayOfMonth; 

     Calendar calendar = Calendar.getInstance(); 
     calendar.set(year_x, month_x, day_x); 
     String currentDateString = DateFormat.getDateInstance(DateFormat.FULL).format(calendar.getTime()); 
     textView.setText(currentDateString); 

    } 
}; 
+0

ありがとうございました –

関連する問題