Im Versuch, eine Schaltfläche, die sagt "Choose Drink", wenn der Benutzer auf den Button klickt, erscheint ein Dialogfeld mit einer Liste von Getränken, die ich in einem Array gespeichert habe.Ich kann nicht mein Dialogfeld Kontrollkästchen in Android Studio
Ich weiß, das Problem ist, wo ive sagte "boolean ist geprüft", aber ich brauche das, weil meine Artikel in einem Array gespeichert sind. jemand hilft bitte! wenn ich entferne boolean geprüft wird dann offensichtlich i einen Fehler auf der if-Anweisung bekommen, wo es heißt „isChecked“
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();
}
}
Wann tritt der Fehler passiert, und wie? –
zur Zeit bekomme ich einen Fehler (rote Unterstreichung) auf dialogInterface.OnclickListener sagen Klasse anonyme 'Klasse abgeleitet von onclicklistener' dann habe ich auch eine rote Unterstreichung auf die Überschreibung, die darunter ist. Wenn ich "boolean is checked" lösche, gehen diese Fehler, aber dann funktioniert die if-Anweisung nicht –
Das liegt daran, dass Sie einen zusätzlichen Parameter zum 'onClick' hinzugefügt haben, wenn diese Methode nicht für' DialogInterface.OnClick' existiert. – Pztar