ダイアログを表示するために、「java」フォルダ内の「com.example.listviewsample2」を
右クリックし、「New」→「Java Class」で、Nameを「OrderConfirmDialogFragment」にして、
OrderConfirmDialogFragment.javaファイルを作成しました。
しかし、いろいろな箇所にエラーがでてどこを直せばよいかがわからず、
教えていただけないでしょうか?
作成したファイルは以下に記述しています。
activity_main.xmlファイル****
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ListView android:id="@+id/lvMenu" android:layout_width="match_parent" android:layout_height="match_parent" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.javaファイル**
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("唐揚げ定食"); menulist.add("ハンバーグ定食"); menulist.add("生姜焼き定食"); menulist.add("ステーキ定食"); menulist.add("野菜炒め定食"); menulist.add("とんかつ定食"); menulist.add("ミンチカツ定食"); menulist.add("チキンカツ定食"); menulist.add("チキンカツ定食"); menulist.add("コロッケ定食"); menulist.add("焼き魚定食"); menulist.add("焼肉定食"); ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, menulist); lvMenu.setAdapter(adapter); lvMenu.setOnItemLongClickListener(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"); } } }
OrderConfirmdialogFragment.javaファイル*********
package com.example.listviewsample2; import android.app.Dialog; import android.content.DialogInterface; import android.widget.Toast; import androidx.fragment.app.DialogFragment; public class OrderConfirmDialogFragment extends DialogFragment { @Override public Dialog onCreateDialog(BundlesavedInstanceState){ AlterDialog.Builder builder = new AlterDialog.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(); AlterDialog dialog = builder.create(); return dialog; } private class DialogButtonClickListener implements DialogInterface.OnClickListener{ @Override public void onClick(DialogInterfacedialog, int whitch){ String msg=""; swtitch(whitch){ case DialogInterface.BUTTON_POSITIVE: msg=getString(R.string.dialog_ok_toast); break; case DialogInterface.BUTTON_NEGATIVE: msg=getString(R.string.dialog_ng_toast); break; case DialogInterface.BUTTON_NEUTRAL: msg=getString(R.string.dialog_nu_toast); break; } Toast.makeText(getActivity().msg, Toast.LENGTH_LONG).show(); } } }
dialogButtonClickListener.javaファイル**
package com.example.listviewsample2; import android.content.DialogInterface; public interface dialogButtonClickListener extends DialogInterface.OnClickListener { }
*string.xmlファイル
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">リスト選択サンプル2</string> <string name="dialog_title">注文確認</string> <string name="dialog_msg">選択された定食を注文します。よろしいですか?</string> <string name="dialog_btn_ok">注文</string> <string name="dialog_btn_ng">キャンセル</string> <string name="dialog_btn_nu">問い合わせ</string> <string name="dialog_ok_toast">ご注文ありがとうございます</string> <string name="dialog_ng_toast">ご注文キャンセルしました</string> <string name="dialog_nu_toast">お問い合わせ内容をお知らせください。</string> </resources>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。