0

저는 MonoDroid/Android Development를 처음 접했고 샘플을 가르키거나 사용자 정의 ListView를 사용하여 AlertDialog를 만드는 방법을 설명 할 수 있는지 궁금합니다.MonoDroid AlertDialg with ListView

이미지에 이름 목록이 있어야합니다. 다음과 같이 나는 목록을하지만 AlertDialog를 만들 수 있어요 :

List<string> sPeople = new List<string>(); 
for (int ndx = 0; ndx < od.PeopleAtLoc.Count; ndx++) 
{ 
    ObjectPeople d = od.PeopleAtLoc[ndx]; 
    sPeople.Add (d.Name + "\n" + d.Type); 
} 
string[] stuff = sPeople.ToArray(); 

new AlertDialog.Builder(this) 
    .SetTitle("Choose a Person:") 
     .SetItems(stuff, (sender, args) => 
        { 
      _bInDetails = true; 
      Intent intent = new Intent(this, typeof(FindAPersonDetailActivity)); 
           intent.PutExtra("PERSON_ID", od.PeopleAtLoc[(int)args.Which].ID); 
           intent.PutExtra ("PERSON_CITY", od.PeopleAtLoc[(int)args.Which].City); 
      StartActivity(intent); 
     }) 
     .Show(); 

을하지만 난 정말 내가 ListView를 가진에 AlertDialog를 사용할 수 있습니다 기대했다 왜 각 항목과 관련된 이미지가 필요합니다.

도움 주셔서 감사합니다.

답변

3

ViewDialog에 추가 할 수 있습니다. 따라서 사용자 정의를 만들 수 있습니다. ListViewAdapter, ListView으로보기를 생성하고,이를 팽창시킨 후 Dialog에 추가하고 Adapter을 직접 설정하십시오.

var customView = LayoutInflater.Inflate (Resource.Layout.CustomDialogListView, null); 
var listView = (ListView) customView.FindViewById(Resource.Id.ListView); 
listView.Adapter = new MyListViewAdapter(stuff); 

var builder = new AlertDialog.Builder(this); 
builder.SetView(customView); 
builder.SetPositiveButton(Resource.String.dialog_ok, OkClicked); 
builder.SetNegativeButton(Resource.String.dialog_cancel, CancelClicked); 

return builder.Create(); 
+0

네, 알아 냈지만 입력 해 주셔서 감사합니다. 내가이 일을하고 효과가 있었으므로 같은 해결책을 제안 했으므로 나는 그것을 해결 된 것으로 표시 할 것입니다. 다시 감사합니다. – LilMoke