__はじめてのAndroidアプリ開発__というテキストの時刻入力ダイアログを作成するという項目で分からないことがありますので、こちらで質問させていただきます。
#####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>
MyDialogFragment.java
java
1package to.msn.wings.dialogtime; 2 3import android.app.Dialog; 4import android.app.TimePickerDialog; 5import android.os.Bundle; 6import android.support.v4.app.DialogFragment; 7import android.widget.EditText; 8import android.widget.TimePicker; 9 10import java.util.Calendar; 11import java.util.Locale; 12 13public class MyDialogFragment extends DialogFragment { 14 @Override 15 public Dialog onCreateDialog(Bundle savedInstanceState) { 16 final Calendar cal = Calendar.getInstance(); 17 return new TimePickerDialog( 18 getActivity(), 19 new TimePickerDialog.OnTimeSetListener() { 20 public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 21 EditText txtDate = getActivity().findViewById(R.id.txtTime); 22 txtDate.setText(String.format(Locale.JAPAN, "%02d:%02d", hourOfDay, minute)); 23 } 24 }, 25 cal.get(Calendar.HOUR_OF_DAY), 26 cal.get(Calendar.MINUTE), 27 true 28 ); 29 } 30} 31
MainActivity.java
java
1package to.msn.wings.dialogtime; 2 3import androidx.appcompat.app.AppCompatActivity; 4import android.support.v4.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 MyDialogFragment(); 18 dialog.show(getSupportFragmentManager(), "dialog_time"); 19 } 20} 21
#####エラー
error: cannot find symbol
import android.support.v4.app.DialogFragment;
^
symbol: class DialogFragment
location: package android.support.v4.app
エラー内容としては、android.support.v4.app.DialogFragmentが使えないのだと思うのですが、これは既にサポートしていないからということでしょうか?
いろいろ調べたところ、android.app.DialogFragmentが非推奨になり、代わりにandroid.support.v4.app.DialogFragmentをインポートする。と記載があったのですが、android.support.v4.app.DialogFragmentでもダメな場合はどうすればいいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/07 02:48