アラートダイアログからの日付と日付を設定する必要があります。私はDate Time Picker
の値を得るために新しいXMLレイアウトを作成しました。しかし、私はそれぞれの値を別々に得る方法を知らない。Textview
。日付時刻選択ツールの値を取得する方法は?
MainFragment extends Fragment implements
DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener {
int day, month, year, hour, minute;
int dayFinal, monthFinal, yearFinal, hourFinal, minuteFinal;
String dayFinalString, monthFinalString, yearFinalString, hourFinalString, minuteFinalString;
TextView et2;
String dateFrom;
String Dates, time;
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
yearFinal = i;
monthFinal = i1 + 1;
dayFinal = i2;
Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR_OF_DAY);
minute = c.get(Calendar.MINUTE);
Dates = (monthFinal < 10 ? ("0" + monthFinal) : (monthFinal)) + "-" + (dayFinal < 10 ? ("0" + dayFinal) : (dayFinal)) + "-" + yearFinal ;
TimePickerDialog timePickerDialog = new TimePickerDialog(_context, this, hour, minute, DateFormat.is24HourFormat(_context));
timePickerDialog.show();
}
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
hourFinal = i;
minuteFinal = i1;
time = (hourFinal < 10 ? ("0" + hourFinal) : (hourFinal)) + ":" + (minuteFinal < 10 ? ("0" + minuteFinal) : (minuteFinal));
//Here I want to set for example
et2.setText(Dates + " " + time + ":00");
dateFromListFragment = et2.getText().toString();
et3.setText(Dates + " " + time + ":00");
dateFromListFragment = et3.getText().toString();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
....
@Override
public void onClick(View view) {
final Dialog dialog = new Dialog(getContext());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.date_time);
dialog.setCancelable(false);
ImageView close = (ImageView) dialog.findViewById(R.id.close);
close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
dialog.dismiss();
}
});
et2 = (TextView) dialog.findViewById(R.id.editText2);
et2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(_context, SnailTrailTwoHrsFragment.this, year, month, day);
datePickerDialog.show();
}
});
final TextView et3 = (TextView) dialog.findViewById(R.id.editText3);
et3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(_context, SnailTrailTwoHrsFragment.this, year, month, day);
datePickerDialog.show();
}
});
}
そして、ここでは、私がDate To TextView
と同じDate From TextView
を押すと、ダイアログで設定DateTimePicker
を持つようにしたい私のXML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="350dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="30dp"
android:weightSum="1">
<ImageView
android:id="@+id/close"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:layout_margin="5dp"
android:layout_marginBottom="15dp"
android:src="@drawable/close"
android:textSize="20dp" />
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentEnd="false"
android:layout_alignParentRight="true"
android:layout_below="@+id/close"
android:gravity="right"
android:paddingLeft="25dp"
android:paddingRight="0dp" >
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Date From: "></TextView>
<TextView
android:id="@+id/editText2"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:ems="10"
android:paddingTop="25dp"
android:text="________________________________"
android:textAllCaps="true"
android:textColor="@color/colorBlack" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:orientation="horizontal"
android:paddingTop="10dp"
android:id="@+id/linearLayout3"
android:layout_below="@+id/linearLayout"
android:layout_marginBottom="25dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:paddingLeft="35dp"
android:paddingRight="0dp" >
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Date To: " />
<TextView
android:id="@+id/editText3"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:ems="10"
android:paddingTop="25dp"
android:text="________________________________"
android:textAllCaps="true"
android:textColor="@color/colorBlack" />
</LinearLayout>
<ImageView
android:id="@+id/button5"
android:layout_width="66dp"
android:layout_height="33dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="135dp"
app:srcCompat="@drawable/next"
android:layout_below="@+id/linearLayout3" />
</RelativeLayout>
です。
問題:私はDate From TextView
を押すと、私は値がDate Time Picker
から来てDate To
と同じDate From
に設定することができません取得できます。これを行うには
一つの方法は、あなたがのTextViewのいずれかをクリックすると、あなたがグローバルのTextViewにそれを初期化することができますし、メソッド 'onDateSet'と'にあなたがいるその世界のTextViewの値を更新することができonTimeSet'、だろうクリックしたものが順番に更新されます。 –
"各Textviewで異なる値を取得する方法。"別の価値が欲しい、あなたは精巧にできますか? –
'Date Time Picker'の値を取得して' textview settext'に置くのに問題があります – gokumijo2