前提・実現したいこと
onCreateDialogを使用したDiaLogにて
setMultiChoiceItemsを利用したチェックボックスを表示されない問題を解決したい。
目標としている画像
https://gyazo.com/a1b09d3c6f52f5724a5615cd7379205c
このチェックボックスのみ表示されてない状態です
現在問題となっている画像
https://gyazo.com/6a8e945f6b89c0354784cb86c2f5c4bb
発生している問題・エラーメッセージ
無し
該当のソースコード
AddTaskDiaLogFragment.java
java
public class AddTaskDialogFragment extends DialogFragment { 中略 @NonNull @Override public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { CharSequence[] items = {"重要","test","aaa"}; boolean[] itemChecked = new boolean[items.length]; AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); //ダイアログのレイアウトを適用 LayoutInflater inflater = requireActivity().getLayoutInflater(); builder.setView(inflater.inflate(R.layout.add_task_dialog, null)); builder.setMessage("タスクの追加") ・・・・・・・・問題箇所・・・・・・・・・・・・・・・・・・・・ .setMultiChoiceItems(items, itemChecked, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { } }) ・・・・・・・・問題箇所・・・・・・・・・・・・・・・・・・・・ .setPositiveButton("OK",new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog,int id){ EditText editText = (EditText) getDialog().findViewById(R.id.task_text); if (editText != null) { //タスク追加処理 disposable.add(taskModel.insertTask(editText.getText().toString()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(() -> {}, throwable -> Log.e(TAG, "Unable to update username", throwable))); } else { //例外 Log.e("", "EditText not found!"); } } }) .setNegativeButton("キャンセル", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { //user cancelled the dialog } }); return builder.create(); } }
add_task_dialog.xml
xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <EditText android:id="@+id/task_text" android:inputType="text" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" android:layout_marginBottom="4dp" /> </LinearLayout>
試したこと
”チェックボックス 表示されない”などの形で調べてもうまく出てこないためどのような調べ方から進めればよいかわからないです。
本来表示したい形はチェックボックス一つのみですが
setMultiChoiceItems自体が複数表示する用のメソッドなので一旦複数表示される形で変数を用意するも効果なし
補足情報(FW/ツールのバージョンなど)
Windows10 AndroidStudio java
まだ回答がついていません
会員登録して回答してみよう