__はじめてのAndroidアプリ開発__というテキストの時刻入力ダイアログを作成するという項目で分からないことがありますので、こちらで質問させていただきます。
####MainActivity.java
java
1package to.msn.wings.dialogtime; 2 3import androidx.appcompat.app.AppCompatActivity; 4import androidx.fragment.app.DialogFragment; 5import android.os.Bundle; 6import android.view.View; 7 8public class MainActivity extends AppCompatActivity { 9 10 @Override 11 protected void onCreate(Bundle savedInstanceState) { 12 super.onCreate(savedInstanceState); 13 setContentView(R.layout.activity_main); 14 } 15 16 public void btn_onClick(View view) { 17 DialogFragment dialog = new DialogFragment(); 18 dialog.show(getSupportFragmentManager(), "dialog_time"); 19 } 20} 21
####MyDialogFragment.java
java
1package to.msn.wings.dialogtime; 2 3import android.app.Dialog; 4import android.app.TimePickerDialog; 5import android.os.Bundle; 6import android.widget.EditText; 7import android.widget.TimePicker; 8 9import androidx.fragment.app.DialogFragment; 10 11import java.util.Calendar; 12import java.util.Locale; 13 14public class MyDialogFragment extends DialogFragment { 15 @Override 16 public Dialog onCreateDialog(Bundle savedInstanceState) { 17 final Calendar cal = Calendar.getInstance(); 18 return new TimePickerDialog( 19 getActivity(), 20 new TimePickerDialog.OnTimeSetListener() { 21 public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 22 EditText txtDate = getActivity().findViewById(R.id.txtTime); 23 txtDate.setText(String.format(Locale.JAPAN, "%02d:%02d", hourOfDay, minute)); 24 } 25 }, 26 cal.get(Calendar.HOUR_OF_DAY), 27 cal.get(Calendar.MINUTE), 28 true 29 ); 30 } 31} 32
####activity_main.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical"> 6 7 <EditText 8 android:id="@+id/txtTime" 9 android:layout_width="match_parent" 10 android:layout_height="wrap_content" 11 android:ems="10" 12 android:inputType="time" /> 13 14 <Button 15 android:id="@+id/btn" 16 android:layout_width="wrap_content" 17 android:layout_height="wrap_content" 18 android:onClick="btn_onClick" 19 android:text="時刻入力" /> 20</LinearLayout>
####分からないこと
テキストだと以下のようなダイアログが表示され、時間の設定ができると記載されています。
上記のソースコードはダウンロードサンプルをコピペしたものですので、タイポなどは無いと思われます。何かアップデートで仕様が変更になったために、テキストのように表示されなくなったのだと思うのですが、どこをどのように変更すればいいのか分からず困っております。
あなたの回答
tips
プレビュー