我有一个问题,如何显示这个数组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);
返回结果;
}
}
解决方案我有一个问题是如何使画面显示在内容领域 没有图标。你能帮我了吗? 因此,这里是您完成code:
XML:(alert_background.xml)
< XML版本=1.0编码=UTF-8&GT?;
<滚动型的xmlns:机器人=http://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 =:/>中的Android ATTR / textAppearanceLarge?
<的TextView
机器人:ID =@ + ID / textView2
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT
机器人:layout_margin =10dp
机器人:重力=中心
机器人:文本=TextView的
机器人:textAppearance =:/>中的Android ATTR / textAppearanceLarge?
<的TextView
机器人:ID =@ + ID / textView3
机器人:layout_width =match_parent
机器人:layout_height =WRAP_CONTENT
机器人:layout_margin =10dp
机器人:重力=中心
机器人:文本=TextView的
机器人:textAppearance =:/>中的Android 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;
}
}
}