我有一个问题,如何将这个数组item_detail显示给AllertDialog?
    //Beri keterangan untuk arrayitem detail
    ItemDetail item_detail = new ItemDetail();
    item_detail.setName("Cake");
    item_detail.setItemDescription("");
    item_detail.setPrice("5.000");
    item_detail.setImageNumber(1);
    result.add(item_detail);
    item_detail = new ItemDetail();
    item_detail.setName("Coklat");
    item_detail.setItemDescription("Bulat");
    item_detail.setPrice("5.500");
    item_detail.setImageNumber(2);
    result.add(item_detail);
    item_detail = new ItemDetail();
    item_detail.setName("Purple");
    item_detail.setItemDescription("Cupcake");
    item_detail.setPrice("6.000");
    item_detail.setImageNumber(3);
    result.add(item_detail);
    return result;
}}
这是我的密码:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list_view_image);
    ArrayList<ItemDetail> image_detail = GetSearchResult();
    final ListView lv1 = (ListView) findViewById(R.id.listV_main);
    lv1.setAdapter(new ItemListBaseAdapter(this, image_detail));
    lv1.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> a, View view, int position, long id){
            Object o = lv1.getItemAtPosition(position);
            ItemDetail obj_ItemDetail = (ItemDetail)o;
            new AlertDialog.Builder(view.getContext())
            .setIcon(obj_ItemDetail.getImageNumber())
            .setMessage(obj_ItemDetail.getItemDescription())
            .setNegativeButton("Close", null).show();
            Toast.makeText(ListViewImageActivity.this, "Anda Memilih : " + " " + obj_ItemDetail.getName(), Toast.LENGTH_SHORT).show();
        }
        });
    }
private ArrayList<ItemDetail> GetSearchResult() {
    // TODO Auto-generated method stub
    ArrayList<ItemDetail> result = new ArrayList<ItemDetail>();
    //Beri keterangan untuk arrayitem detail
    ItemDetail item_detail = new ItemDetail();
    item_detail.setName("Cake");
    item_detail.setItemDescription("");
    item_detail.setPrice("5.000");
    item_detail.setImageNumber(1);
    result.add(item_detail);
    item_detail = new ItemDetail();
    item_detail.setName("Coklat");
    item_detail.setItemDescription("Bulat");
    item_detail.setPrice("5.500");
    item_detail.setImageNumber(2);
    result.add(item_detail);
    item_detail = new ItemDetail();
    item_detail.setName("Purple");
    item_detail.setItemDescription("Cupcake");
    item_detail.setPrice("6.000");
    item_detail.setImageNumber(3);
    result.add(item_detail);
    return result;
}}
发布于 2014-02-01 20:26:24
只需将下面的代码放在您的项目中&根据您的需要将图像放在可绘制文件夹中。就这样。你在这里完事了:
Java代码:
public class SOF_AlertDialog extends Activity 
{
    ArrayList<ItemDetail> image_detail;
    private int[] images={R.drawable.ball1,R.drawable.ball2,R.drawable.ball5};
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sof__alert_dialog);
        image_detail = GetSearchResult();
        final ListView lv1 = (ListView) findViewById(R.id.listV_main);
        lv1.setAdapter(new ItemListBaseAdapter());
        lv1.setOnItemClickListener(new OnItemClickListener() 
        {
            @Override
            public void onItemClick(AdapterView<?> a, View view, int position, long id)
            {
                AlertDialog.Builder mAlert = new AlertDialog.Builder(SOF_AlertDialog.this);
                mAlert.setIcon(image_detail.get(position).getImageNumber()).
                setTitle(image_detail.get(position).getName()).
                setMessage(image_detail.get(position).getItemDescription()+"\nPrice: "+image_detail.get(position).getPrice()).
                setPositiveButton("Buy", new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        dialog.dismiss();
                    }
                }).
                setNegativeButton("Cancel", new DialogInterface.OnClickListener()
                {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        dialog.dismiss();
                    }
                }).create().show();
            }
         });
       }
    private ArrayList<ItemDetail> GetSearchResult() 
    {
        // TODO Auto-generated method stub
        ArrayList<ItemDetail> result = new ArrayList<ItemDetail>();
        //Beri keterangan untuk arrayitem detail
        ItemDetail item_detail = new ItemDetail();
        item_detail.setName("Cake");
        item_detail.setItemDescription("");
        item_detail.setPrice("5.000");
        item_detail.setImageNumber(images[0]);
        result.add(item_detail);
        item_detail = new ItemDetail();
        item_detail.setName("Coklat");
        item_detail.setItemDescription("Bulat");
        item_detail.setPrice("5.500");
        item_detail.setImageNumber(images[1]);
        result.add(item_detail);
        item_detail = new ItemDetail();
        item_detail.setName("Purple");
        item_detail.setItemDescription("Cupcake");
        item_detail.setPrice("6.000");
        item_detail.setImageNumber(images[2]);
        result.add(item_detail);
        return result;
    }
    private class ItemListBaseAdapter extends BaseAdapter
    {
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return image_detail.size();
        }
        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return null;
        }
        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return 0;
        }
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
                convertView = getLayoutInflater().inflate(R.layout.custom_row, parent, false);
                TextView txtName = (TextView)convertView.findViewById(R.id.textView1);
                TextView txtDescription = (TextView)convertView.findViewById(R.id.textView2);
                TextView txtPrice = (TextView)convertView.findViewById(R.id.textView3);
                ImageView img = (ImageView)convertView.findViewById(R.id.imageView1);
                txtName.setText(image_detail.get(position).getName());
                txtDescription.setText(image_detail.get(position).getItemDescription());
                txtPrice.setText(image_detail.get(position).getPrice());
                img.setImageResource(image_detail.get(position).getImageNumber());
            return convertView;
        }
    }
}https://stackoverflow.com/questions/21499100
复制相似问题