반응형
Android : 여러 선택 옵션이있는 팝업 만들기
선택할 수있는 4 가지 옵션이있는 팝업 또는 대화 상자를 만드는 방법을 알아 내려고 노력하고 있습니다.
Android 개발자 사이트 에서이 사진을 볼 수 있습니다.
오른쪽에있는 것과 같은 코드를 작성하는 방법을 아는 사람이? 내 텍스트 옆에 아이콘이 필요하지 않습니다. 4 가지 선택 선택할 수 있습니다.
당신은 만들 수 있습니다 CharSequence
당신이 보여주고 다음에 배열을 전달하려는 옵션을 배열 AlertDialog.Builder
하는 방법과를 setItems(CharSequence[], DialogInterface.OnClickListener)
.
예 :
String[] colors = {"red", "green", "blue", "black"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick a color");
builder.setItems(colors, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// the user clicked on colors[which]
}
});
builder.show();
출력 (Android 4.0.3) :
(배경지도는 포함되어 있지 않습니다.;))
팝업은 AlertDialog
단지. 원하는 AlertDialog
뷰를 LayoutInflater
생성 하여 다음 setView()
을 사용하여 확장 된 뷰를 설정합니다.AlertDialog
대체 옵션
이 제 첫 게시물 제 코드를 공유하게되어 기쁩니다! 이것은 나를 위해 일했습니다.
이 두 줄을 OnCreate 이벤트 위에.
final String[] Options = {"Red", "Blue"};
AlertDialog.Builder window;
이를 트리거 할 이벤트 에이 코드를 배치하십시오.
window = new AlertDialog.Builder(this);
window.setTitle("Pick a color");
window.setItems(Options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(which == 0){
//first option clicked, do this...
}else if(which == 1){
//second option clicked, do this...
}else{
//theres an error in what was selected
Toast.makeText(getApplicationContext(), "Hmmm I messed up. I detected that you clicked on : " + which + "?", Toast.LENGTH_LONG).show();
}
}
});
window.show();
이 시도 :
public void onClick (View v) {
final String[] fonts = {"Small", "Medium", "Large", "Huge"};
AlertDialog.Builder builder = new AlertDialog.Builder(TopicDetails.this);
builder.setTitle("Select a text size");
builder.setItems(fonts, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if ("Small".equals(fonts[which])){
Toast.makeText(TopicDetails.this,"you nailed it", Toast.LENGTH_SHORT).show();
}
else if ("Medium".equals(fonts[which])){
Toast.makeText(TopicDetails.this,"you cracked it", Toast.LENGTH_SHORT).show();
}
else if ("Large".equals(fonts[which])){
Toast.makeText(TopicDetails.this,"you hacked it", Toast.LENGTH_SHORT).show();
}
else if ("Huge".equals(fonts[which])){
Toast.makeText(TopicDetails.this,"you digged it", Toast.LENGTH_SHORT).show();
}
// the user clicked on colors[which]
}
});
builder.show();
}
반응형
'IT' 카테고리의 다른 글
레이아웃 제약은 언제 활성화 / 비활성화 할 수 있습니까? (0) | 2020.09.04 |
---|---|
Android SQLite 데이터베이스 : 느린 삽입 (0) | 2020.09.04 |
PHP의 다이와 동등한 JavaScript (0) | 2020.09.04 |
Ubuntu에 새로 설치 한 후 사용자 'root'@ 'localhost'(암호 : YES 사용)에 대한 액세스가 거부되었습니다. (0) | 2020.09.04 |
Android CollapsingToolbarLayout 축소 리스너 (0) | 2020.09.04 |