Esta es la contestación más completa que encomtrarás aportar, sin embargo mírala pausadamente y analiza si se puede adaptar a tu trabajo.
Solución:
Usar setAdapter()
sobre AlertDialog.Builder
para suministrar su propia costumbre ListAdapter
para tu lista.
editar: por cierto, hice algunos cambios para mostrar diferentes íconos:
list_item.xml
:
Y en su Actividad:
// dialog list entries
final String[] items =
getString(R.string.entry_0),
getString(R.string.entry_1),
getString(R.string.entry_2)
;
// dialog list icons: some examples here
final int[] icons =
android.R.drawable.ic_menu_edit,
android.R.drawable.ic_menu_send,
android.R.drawable.ic_menu_delete
;
ListAdapter adapter = new ArrayAdapter(
getApplicationContext(), R.layout.list_item, items)
ViewHolder holder;
class ViewHolder
ImageView icon;
TextView title;
public View getView(int position, View convertView, ViewGroup parent)
final LayoutInflater inflater = (LayoutInflater) getApplicationContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(
R.layout.list_item, null);
holder = new ViewHolder();
holder.icon = (ImageView) convertView
.findViewById(R.id.icon);
holder.title = (TextView) convertView
.findViewById(R.id.title);
convertView.setTag(holder);
else
// view already defined, retrieve view holder
holder = (ViewHolder) convertView.getTag();
holder.title.setText(items[position]);
holder.icon.setImageResource(icons[position]);
return convertView;
;
// ----------
AlertDialog.Builder builder = new AlertDialog.Builder(myActivity.this);
builder.setTitle("title");
builder.setAdapter(adapter, new DialogInterface.OnClickListener()
public void onClick(DialogInterface dialog, int which)
// ---
);
builder.create();
if (! ((Activity) myActivity.this).isFinishing())
builder.show();
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)