안드로이드 개발 질문/답변
(글 수 45,052)
얼럿다이얼로그로 커스텀다이얼로그를 만드는 중에 에러가 납니다.
얼럿 다이얼 로그에 리스트로 뭔가를 좀 뿌려주려는데...안되네요...
ArrayAdapter<String> adapter = new ArrayAdapter<String>(layout.getContext(),
android.R.layout.simple_list_item_1, items);
이 부분에서 에러가 나는 것 같습니다.
아무래도 layout.getContext() 이부분이 문제인 것 같은데... 이게 뭐가 잘못 된 건가요?
public class PartyActivity extends Activity {
static final int CUSTOM_DIALOG1 = 0;
static final int CUSTOM_DIALOG2 = 1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.party);
final Button Slot01 = (Button) findViewById(R.id.Slot01);
Slot01.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(CUSTOM_DIALOG2);
}
});
}
protected Dialog onCreateDialog(int id) {
switch(id) {
//그냥 생성
case CUSTOM_DIALOG1:
Dialog dialog = new Dialog(PartyActivity.this);
dialog.setContentView(R.layout.party_dialog);
dialog.setTitle("Custom Dialog");
return dialog;
//얼럿다이얼로그로 생성
case CUSTOM_DIALOG2:
LayoutInflater inflater = (LayoutInflater)
this.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.party_dialog,
(ViewGroup) findViewById(R.id.layout_root));
ListView list = (ListView) findViewById(R.id.ListView01);
String[] items = {"Test1", "Test2", "Test3", "Test4"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(layout.getContext(),
android.R.layout.simple_list_item_1, items);
list.setAdapter(adapter);
//셋팅
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
return builder.create();
default:
return null;
}
}
}
얼럿 다이얼 로그에 리스트로 뭔가를 좀 뿌려주려는데...안되네요...
ArrayAdapter<String> adapter = new ArrayAdapter<String>(layout.getContext(),
android.R.layout.simple_list_item_1, items);
이 부분에서 에러가 나는 것 같습니다.
아무래도 layout.getContext() 이부분이 문제인 것 같은데... 이게 뭐가 잘못 된 건가요?
public class PartyActivity extends Activity {
static final int CUSTOM_DIALOG1 = 0;
static final int CUSTOM_DIALOG2 = 1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.party);
final Button Slot01 = (Button) findViewById(R.id.Slot01);
Slot01.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(CUSTOM_DIALOG2);
}
});
}
protected Dialog onCreateDialog(int id) {
switch(id) {
//그냥 생성
case CUSTOM_DIALOG1:
Dialog dialog = new Dialog(PartyActivity.this);
dialog.setContentView(R.layout.party_dialog);
dialog.setTitle("Custom Dialog");
return dialog;
//얼럿다이얼로그로 생성
case CUSTOM_DIALOG2:
LayoutInflater inflater = (LayoutInflater)
this.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.party_dialog,
(ViewGroup) findViewById(R.id.layout_root));
ListView list = (ListView) findViewById(R.id.ListView01);
String[] items = {"Test1", "Test2", "Test3", "Test4"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(layout.getContext(),
android.R.layout.simple_list_item_1, items);
list.setAdapter(adapter);
//셋팅
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(layout);
return builder.create();
default:
return null;
}
}
}



