tags:

views:

16

answers:

1

dear friends,

i am using alert dialog with code below now i want to put image before each text

for example email icon then text Email, facebook icon then text Facebook etc.. in alert dialog

using following code please guide how to add icon before each text value?

final CharSequence[] items = { "Email",
                "Facebook","Twitter","LinkedIn"};
        AlertDialog.Builder builder = new AlertDialog.Builder(More.this);
        builder.setTitle("Share Appliction");
        builder.setItems(items, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {



                if (item == 0) {


                } else if (item == 1) 
                {





                }else if(item == 2)
                {


                } 
                else if(item == 3)
                {




                }


            }
        });
        AlertDialog alert = builder.create();
        alert.show();
+1  A: 

Do something like this:

    ViewGroup layout=new LinearLayout(context);
    TextView tv=new TextView(context); //your text
    tv.setText("my text"); 
    ImageView imageView=new ImageView(context); //your icon
    //filling image view with icon bitmap (in this case from resource)
    imageView.setImageBitmap(BitmapFactory.decodeStream(context.getResources().openRawResource(resourceId)));
    //ensuring that icon size will be more or less like text height
    imageView.setAdjustViewBounds(true);
    imageView.setMaxHeight((int )(tv.getLineHeight()*1.5));
    imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
    layout.addView(imageView); //adding icon
    tv.setGravity(Gravity.BOTTOM|Gravity.LEFT);
    layout.addView(tv); //adding text

Total idea is to create layout/viewgroup and add icon+text+whatever you want into viewgroup

barmaley
how to associate it with alert?
UMMA
AlertDialog usually contains ListView which shows messages. So try to get like AlertDialog.getListView(); And then add your layout containing whole stuff with Icon/Text add to listView. like: AlertDialog.getListview().add(layout)
barmaley