看图
dia.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="200dp"
android:layout_height="300dp"
android:padding="10dp"
>
<ListView
android:id="@+id/list"
android:layout_width="200dp"
android:layout_height="300dp"
android:scrollingCache="true"
/>
</LinearLayout>
dia_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="40dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:gravity="center"
android:id="@+id/text"
android:layout_width="100dp"
android:layout_height="fill_parent"
android:textSize="18.0sp"
android:textColor="#ffffffff"
/>
<ImageView
android:id="@+id/image"
android:layout_toRightOf="@id/text"
android:layout_alignTop="@id/text"
android:layout_width="200dp"
android:layout_height="fill_parent"
/>
</RelativeLayout>
只要向这个文件初始化就可以弹出dialog,
package com.spinner;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class DialogShow extends Dialog {
private ListView listview;
private List<HashMap<String,Object>> list;
public DialogShow(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.dia);
listview = (ListView)findViewById(R.id.list);
int phones [] = {R.drawable.apple,R.drawable.blue};
int strings[] = {R.string.apple,R.string.blue};
list = new ArrayList<HashMap<String,Object>>();
for(int i =0;i<2;i++){
HashMap<String,Object> map = new HashMap<String, Object>();
map.put("name", strings[i]);
map.put("image", phones[i]);
list.add(map);
}
SimpleAdapter simpleAdapter = new SimpleAdapter(getContext().getApplicationContext(), list, R.layout.dia_item, new String[]{"name","image"}, new int[]{R.id.text,R.id.image});
listview.setAdapter(simpleAdapter);
}
}