如何显示数组列表中AlertDialog数组、列表中、AlertDialog

2023-09-05 04:01:00 作者:承蒙时光不离不弃″

我有一个问题,如何显示这个数组item_detail到AllertDialog?

  //脚气keterangan untuk arrayitem细节
    ItemDetail item_detail =新ItemDetail();
    item_detail.setName(蛋糕);
    item_detail.setItemDescription();
    item_detail.setPrice(5.000);
    item_detail.setImageNumber(1);
    result.add(item_detail);

    item_detail =新ItemDetail();
    item_detail.setName(Coklat);
    item_detail.setItemDescription(布拉特);
    item_detail.setPrice(5.500);
    item_detail.setImageNumber(2);
    result.add(item_detail);

    item_detail =新ItemDetail();
    item_detail.setName(紫);
    item_detail.setItemDescription(蛋糕);
    item_detail.setPrice(6.000);
    item_detail.setImageNumber(3);
    result.add(item_detail);

    返回结果;
}
 

}

这是我的code:

 公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_list_view_image);

    ArrayList的< ItemDetail> image_detail = GetSearchResult();

    最终的ListView LV1 =(ListView控件)findViewById(R.id.listV_main);
    lv1.setAdapter(新ItemListBaseAdapter(这一点,image_detail));

    lv1.setOnItemClickListener(新OnItemClickListener(){
        @覆盖
        公共无效onItemClick(适配器视图<>一种,视图中查看,INT位置,长的id){
            对象o = lv1.getItemAtPosition(位置);
            ItemDetail obj_ItemDetail =(ItemDetail)O;

            新AlertDialog.Builder(view.getContext())
            .setIcon(obj_ItemDetail.getImageNumber())
            .setMessage(obj_ItemDetail.getItemDescription())
            .setNegativeButton(关闭,NULL).show();

            Toast.makeText(ListViewImageActivity.this,安达Memilih:++ obj_ItemDetail.getName(),Toast.LENGTH_SHORT).show();
        }
        });
    }

私人的ArrayList< ItemDetail> GetSearchResult(){
    // TODO自动生成方法存根
    ArrayList的< ItemDetail>结果=新的ArrayList< ItemDetail>();

    //脚气keterangan untuk arrayitem细节
    ItemDetail item_detail =新ItemDetail();
    item_detail.setName(蛋糕);
    item_detail.setItemDescription();
    item_detail.setPrice(5.000);
    item_detail.setImageNumber(1);
    result.add(item_detail);

    item_detail =新ItemDetail();
    item_detail.setName(Coklat);
    item_detail.setItemDescription(布拉特);
    item_detail.setPrice(5.500);
    item_detail.setImageNumber(2);
    result.add(item_detail);

    item_detail =新ItemDetail();
    item_detail.setName(紫);
    item_detail.setItemDescription(蛋糕);
    item_detail.setPrice(6.000);
    item_detail.setImageNumber(3);
    result.add(item_detail);

    返回结果;
}
 
pb中怎样在数据窗口显示一张表

}

解决方案   

我有一个问题是如何使画面显示在内容领域   没有图标。你能帮我了吗?   因此,这里是您完成code:

XML:(alert_background.xml)

 < XML版本=1.0编码=UTF-8&GT?;
<滚动型的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
    机器人:layout_width =match_parent
    机器人:layout_height =match_parent
    机器人:填充=15dp>

    <的LinearLayout
        机器人:layout_width =match_parent
        机器人:layout_height =WRAP_CONTENT
        机器人:方向=垂直>

        < ImageView的
            机器人:ID =@ + ID / imageView1
            机器人:layout_width =WRAP_CONTENT
            机器人:layout_height =WRAP_CONTENT
            机器人:layout_gravity =中心
            机器人:SRC =@可绘制/ ic_launcher/>

        <的TextView
            机器人:ID =@ + ID / textView1
            机器人:layout_width =match_parent
            机器人:layout_height =WRAP_CONTENT
            机器人:layout_margin =10dp
            机器人:重力=中心
            机器人:文本=TextView的
            机器人:textAppearance =:/>中的Andr​​oid ATTR / textAppearanceLarge?

        <的TextView
            机器人:ID =@ + ID / textView2
            机器人:layout_width =match_parent
            机器人:layout_height =WRAP_CONTENT
            机器人:layout_margin =10dp
            机器人:重力=中心
            机器人:文本=TextView的
            机器人:textAppearance =:/>中的Andr​​oid ATTR / textAppearanceLarge?

        <的TextView
            机器人:ID =@ + ID / textView3
            机器人:layout_width =match_parent
            机器人:layout_height =WRAP_CONTENT
            机器人:layout_margin =10dp
            机器人:重力=中心
            机器人:文本=TextView的
            机器人:textAppearance =:/>中的Andr​​oid ATTR / textAppearanceLarge?
    < / LinearLayout中>

< /滚动型>
 

的Java code:

 包com.example.stackoflow_alertdialog;

进口的java.util.ArrayList;

进口android.app.Activity;
进口android.app.AlertDialog;
进口android.content.DialogInterface;
进口android.os.Bundle;
进口android.view.View;
进口android.view.ViewGroup;
进口android.widget.AdapterView;
进口android.widget.AdapterView.OnItemClickListener;
进口android.widget.BaseAdapter;
进口android.widget.ImageView;
进口android.widget.ListView;
进口android.widget.TextView;

公共类SOF_AlertDialog扩展活动
{
    ArrayList的< ItemDetail> image_detail;
    私人INT []的图像= {R.drawable.ball1,R.drawable.ball2,R.drawable.ball5};
    @覆盖
    保护无效的onCreate(包savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_sof__alert_dialog);

        image_detail = GetSearchResult();

        最终的ListView LV1 =(ListView控件)findViewById(R.id.listV_main);
        lv1.setAdapter(新ItemListBaseAdapter());

        lv1.setOnItemClickListener(新OnItemClickListener()
        {
            @覆盖
            公共无效onItemClick(适配器视图<>一种,视图中查看,INT位置,长ID)
            {
                AlertDialog.Builder mAlert =新AlertDialog.Builder(SOF_AlertDialog.this);

                鉴于= getLayoutInflater()膨胀(R.layout.alert_background,空)。

                ImageView的Content_img =(ImageView的)view.findViewById(R.id.imageView1);
                TextView的Content_txt1 =(TextView中)view.findViewById(R.id.textView1);
                TextView的Content_txt2 =(TextView中)view.findViewById(R.id.textView2);
                TextView的Content_txt3 =(TextView中)view.findViewById(R.id.textView3);
                Content_img.setImageResource(image_detail.get(位置).getImageNumber());
                Content_txt1.setText(image_detail.get(位置).getName());
                Content_txt2.setText(image_detail.get(位置).getItemDescription());
                Content_txt3.setText(价格+ image_detail.get(位置).getPrice());

// mAlert.setIcon(image_detail.get(位置).getImageNumber())。
                mAlert.setTitle(image_detail.get(位置).getName())。
                的setView(查看)。
// setMessage(image_detail.get(位置).getItemDescription()+\ nPrice:+ image_detail.get(位置).getPrice())。
                setPositiveButton(买入,新DialogInterface.OnClickListener()
                {

                    @覆盖
                    公共无效的onClick(DialogInterface对话,诠释它){
                        // TODO自动生成方法存根
                        dialog.dismiss();
                    }
                })。
                setNegativeButton(取消,新DialogInterface.OnClickListener()
                {

                    @覆盖
                    公共无效的onClick(DialogInterface对话,诠释它){
                        // TODO自动生成方法存根
                        dialog.dismiss();
                    }
                })创建()显示()。
            }
         });
       }

    私人的ArrayList< ItemDetail> GetSearchResult()
    {
        // TODO自动生成方法存根
        ArrayList的< ItemDetail>结果=新的ArrayList< ItemDetail>();

        //脚气keterangan untuk arrayitem细节
        ItemDetail item_detail =新ItemDetail();
        item_detail.setName(蛋糕);
        item_detail.setItemDescription();
        item_detail.setPrice(5.000);
        item_detail.setImageNumber(图像[0]);
        result.add(item_detail);

        item_detail =新ItemDetail();
        item_detail.setName(Coklat);
        item_detail.setItemDescription(布拉特);
        item_detail.setPrice(5.500);
        item_detail.setImageNumber(图像[1]);
        result.add(item_detail);

        item_detail =新ItemDetail();
        item_detail.setName(紫);
        item_detail.setItemDescription(蛋糕);
        item_detail.setPrice(6.000);
        item_detail.setImageNumber(图像[2]);
        result.add(item_detail);

        返回结果;
    }

    私有类ItemListBaseAdapter扩展了BaseAdapter
    {

        @覆盖
        公众诠释getCount将(){
            // TODO自动生成方法存根
            返回image_detail.size();
        }

        @覆盖
        公共对象的getItem(INT位置){
            // TODO自动生成方法存根
            返回null;
        }

        @覆盖
        众长getItemId(INT位置){
            // TODO自动生成方法存根
            返回0;
        }

        @覆盖
        公共查看getView(INT位置,查看convertView,ViewGroup中父){

                。convertView = getLayoutInflater()膨胀(R.layout.custom_row,父母,假);
                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(位置).getName());
                txtDescription.setText(image_detail.get(位置).getItemDescription());
                txtPrice.setText(image_detail.get(位置).getPrice());
                img.setImageResource(image_detail.get(位置).getImageNumber());

            返回convertView;
        }

    }
}
 

I have a question, how to show this array item_detail to 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;
}

}

this is my code :

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;
}

}

解决方案

I have one more question how to make the picture show in content area not in icon. can you help me again? So here is your complete code:

XML: (alert_background.xml)

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="15dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:gravity="center"
            android:text="TextView"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:gravity="center"
            android:text="TextView"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:gravity="center"
            android:text="TextView"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </LinearLayout>

</ScrollView>

Java Code:

package com.example.stackoflow_alertdialog;

import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

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);

                view = getLayoutInflater().inflate(R.layout.alert_background,null);

                ImageView Content_img = (ImageView)view.findViewById(R.id.imageView1);
                TextView Content_txt1 = (TextView)view.findViewById(R.id.textView1);
                TextView Content_txt2 = (TextView)view.findViewById(R.id.textView2);
                TextView Content_txt3 = (TextView)view.findViewById(R.id.textView3);
                Content_img.setImageResource(image_detail.get(position).getImageNumber());
                Content_txt1.setText(image_detail.get(position).getName());
                Content_txt2.setText(image_detail.get(position).getItemDescription());
                Content_txt3.setText("Price: "+image_detail.get(position).getPrice());

//              mAlert.setIcon(image_detail.get(position).getImageNumber()).
                mAlert.setTitle(image_detail.get(position).getName()).
                setView(view).
//              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;
        }

    }
}