import
android.content.DialogInterface;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.TextView;
import
androidx.appcompat.app.AlertDialog;
import
androidx.appcompat.app.AppCompatActivity;
import
java.util.ArrayList;
import
java.util.Collections;
public
class
MainActivity
extends
AppCompatActivity {
TextView textView;
boolean
[] selectedLanguage;
ArrayList<Integer> langList =
new
ArrayList<>();
String[] langArray = {
"Java"
,
"C++"
,
"Kotlin"
,
"C"
,
"Python"
,
"Javascript"
};
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
selectedLanguage =
new
boolean
[langArray.length];
textView.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View view) {
AlertDialog.Builder builder =
new
AlertDialog.Builder(MainActivity.
this
);
builder.setTitle(
"Select Language"
);
builder.setCancelable(
false
);
builder.setMultiChoiceItems(langArray, selectedLanguage,
new
DialogInterface.OnMultiChoiceClickListener() {
@Override
public
void
onClick(DialogInterface dialogInterface,
int
i,
boolean
b) {
if
(b) {
langList.add(i);
Collections.sort(langList);
}
else
{
langList.remove(Integer.valueOf(i));
}
}
});
builder.setPositiveButton(
"OK"
,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialogInterface,
int
i) {
StringBuilder stringBuilder =
new
StringBuilder();
for
(
int
j =
0
; j < langList.size(); j++) {
stringBuilder.append(langArray[langList.get(j)]);
if
(j != langList.size() -
1
) {
stringBuilder.append(
", "
);
}
}
textView.setText(stringBuilder.toString());
}
});
builder.setNegativeButton(
"Cancel"
,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialogInterface,
int
i) {
dialogInterface.dismiss();
}
});
builder.setNeutralButton(
"Clear All"
,
new
DialogInterface.OnClickListener() {
@Override
public
void
onClick(DialogInterface dialogInterface,
int
i) {
for
(
int
j =
0
; j < selectedLanguage.length; j++) {
selectedLanguage[j] =
false
;
langList.clear();
textView.setText(
""
);
}
}
});
builder.show();
}
});
}
}