선택할 수있는 4 가지 옵션이있는 팝업 또는 대화 상자를 만드는 방법을 알아 내려고 노력하고 있습니다.
Android 개발자 사이트에서이 사진을 봅니다.
오른쪽에있는 것과 같은 코드를 작성하는 방법을 아는 사람이 있습니까? 내 텍스트 옆에 아이콘이 필요하지 않습니다. 4 가지 옵션 중에서 선택할 수 있으면됩니다.
선택할 수있는 4 가지 옵션이있는 팝업 또는 대화 상자를 만드는 방법을 알아 내려고 노력하고 있습니다.
Android 개발자 사이트에서이 사진을 봅니다.
오른쪽에있는 것과 같은 코드를 작성하는 방법을 아는 사람이 있습니까? 내 텍스트 옆에 아이콘이 필요하지 않습니다. 4 가지 옵션 중에서 선택할 수 있으면됩니다.
답변:
당신은 만들 수 있습니다 String
당신이 보여주고 다음에 배열을 전달하려는 옵션을 배열 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) :
(배경지도는 포함되어 있지 않습니다.;))
이 시도 :
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();
}
대체 옵션
이것은 제 첫 게시물이므로 제 코드를 공유하게되어 기쁩니다! 이것은 나를 위해 일했습니다.
이 두 줄을 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();
.create()
여기에 불필요.show()
빌더에 의해 생성 된 대화 상자를 반환하고뿐만 아니라 그것을 보여줍니다