ユーザーがボタンをクリックしたときに「ドリンクを選んでください」というボタンが表示されているので、アレイに保存されているドリンクのリストがダイアログに表示されます。アンドロイドスタジオでダイアログボックスのチェックボックスが表示されない
私は、問題が "ブール値がチェックされました"と言いましたが、私のアイテムは配列に格納されているので、それが必要です。誰か助けてください!私はブール値が、私は明らかにそれは言うif文でエラーを取得するチェックされて削除した場合、あなたは、単一の選択ラジオボタンで作業している場合 は
onClick(DialogInterface dialog, int which) {
list.add(items[which]);
}
使用
package com.example.liamchowney.myappoctober;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.support.v4.app.DialogFragment;
import android.app.Dialog;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class Multiselection extends DialogFragment {
private static TextView text_view;
ArrayList<String> list = new ArrayList<String>(); //to store selection
@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState)
{
final String [] items = getResources().getStringArray(R.array.my_drinks_selection); //gets array items to screen
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Choose drink").setSingleChoiceItems(R.array.my_drinks_selection, null, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if(isChecked)
{
list.add(items[which]); //adds selected item
}
else if(list.contains(items[which]))
{
list.remove(items[which]); //removes selected item if they uncheck
}
}
}).setPositiveButton("OK", new DialogInterface.OnClickListener() { //to display the selected item done by user
@Override
public void onClick(DialogInterface dialog, int which) {
String selections = ""; //default value
for(String ms : list)
{
selections = selections + "\n" +ms;
}
Toast.makeText(getActivity(), "Drink Selection :" +selections, Toast.LENGTH_LONG).show();
}
});
return builder.create();
}
}
エラーが発生し、どのようにでしょうか? –
現在、私はclassInterface.OnclickListenerのクラスanonymous 'class由来のクラスonclicklistener'にエラー(赤い下線)が表示され、次にその下にオーバーライドしている赤い下線も表示されています。 "boolean is checked"を削除すると、これらのエラーは出ますが、ifステートメントは動作しません。 –
これは、 'DialogInterface.OnClick'にそのメソッドが存在しないときに、' onClick'に追加のパラメータを追加したためです。 – Pztar