実現したいこと
アンドロイドアプリ上で動作するようにしたい
前提
andoroid studioでjavaを使ってコーディングの練習をしているのですが、下記のエラーがでて進みません。入門書のようなものに記載されているとおりに書いているつもりなのですが、ご指導いただけると幸いです。
発生している問題・エラーメッセージ
----------エラーメッセージ------------ Cannot resolve method 'show(FragmentManager, String)' -----------コード-------- package com.example.listviewsample2; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView lvMenu = findViewById(R.id.lvMenu); List<String> menuList = new ArrayList<>(); menuList.add("Aコース"); menuList.add("Bコース"); menuList.add("Cコース"); menuList.add("Dコース"); menuList.add("Eコース"); menuList.add("Fコース"); ArrayAdapter<String> adapter= new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, menuList); lvMenu.setAdapter(adapter); lvMenu.setOnItemClickListener(new ListItemClickListener()); } //リストタップ時の処理メンバクラス private class ListItemClickListener implements AdapterView.OnItemClickListener { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //ダイアログを生成 OrderConfirmDialogFragment dialogFragment = new OrderConfirmDialogFragment(); //ダイアログを表示 dialogFragment.show(getSupportFragmentManager(), "OrderConfirmDialogFragment"); } } } ------------------------------------------------------- package com.example.listviesample2; import static android.app.PendingIntent.getActivity; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.DialogInterface; import android.os.Bundle; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; public class OrderConfirmDialogFragment extends DialogFragment { @NonNull public Dialog CreateDialog(@Nullable Bundle savedInstanceState){ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); //ダイアログのタイトル・メッセージを設定 builder.setTitle(R.string.dialog_title); builder.setMessage(R.string.dialog_msg); //ボタンを設定 builder.setPositiveButton(R.string.dialog_btn_ok, new DialogButtonClickListener()); builder.setNegativeButton(R.string.dialog_btn_ng, new DialogButtonClickListener()); builder.setNeutralButton(R.string.dialog_btn_nu, new DialogButtonClickListener()); //ダイアログオブジェクトを生成してリターン AlertDialog dialog = builder.create(); return dialog; } private class DialogButtonClickListener implements DialogInterface.OnClickListener { @Override public void onClick(DialogInterface dialog, int which) { //トーストメッセージ用の変数ボックス String msg = ""; if (which == DialogInterface.BUTTON_POSITIVE) { msg = getString(R.string.dialog_ok_toast); }else if (which == DialogInterface.BUTTON_NEGATIVE){ msg = getString(R.string.dialog_ng_toast); }else if (which == DialogInterface.BUTTON_NEUTRAL){ msg = getString(R.string.dialog_nu_toast); } Toast.makeText(getActivity(), msg, Toast.LENGTH_LONG).show(); } } }
試したこと
補足情報(FW/ツールのバージョンなど)
Android Studio Giraffe | 2022.3.1 Patch 4

0 コメント