FROM : http://snowbora.com/445
在彈出對話方塊中,如下面的清單以查看花車顯示。
首先,讓我們看看佈局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_image"
android:layout_width="80px"
android:layout_height="80px"/>
<TextView
android:id="@+id/tv_item"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="33px"
android:layout_marginLeft="8dip"/>
</LinearLayout>
popup_list_row.xml
01.
package
snowdeer.testapp
02.
03.
import!
java.util.List;
04.
05.
import!
android.content.Context;
06.
import!
android.graphics.Bitmap;
07.
import!
android.view.LayoutInflater;
08.
import!
android.view.View;
09.
import!
android.view.ViewGroup;
10.
import!
android.widget.ArrayAdapter;
11.
import!
android.widget.ImageView;
12.
import!
android.widget.TextView;
13.
14.
public
class
DMRListAdapter
extends
ArrayAdapter<deviceitem>
15.
{
16.
private
Context m_Context =
null
;
17.
private
List<deviceitem> m_lstDevice =
null
;
18.
private
final
int
resId;
19.
20.
private
DMRIconLoader m_DMRIconLoader =
null
;
21.
22.
public
DMRListAdapter(Context context,
int
textViewResourceId, List<deviceitem> objects)
23.
{
24.
super
(context, textViewResourceId, objects);
25.
26.
m_Context = context;
27.
m_lstDevice = objects;
28.
resId = textViewResourceId;
29.
}
30.
31.
public
void
SetDMRIconLoader(DMRIconLoader _DMRIconLoader)
32.
{
33.
m_DMRIconLoader = _DMRIconLoader;
34.
}
35.
36.
@Override
37.
public
View getView(
int
position, View convertView, ViewGroup parent)
38.
{
39.
DMRViewHolder holder;
40.
41.
View row = convertView;
42.
if
(row ==
null
)
43.
{
44.
LayoutInflater inflator = (LayoutInflater)m_Context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
45.
row = inflator.inflate(resId,
null
);
46.
47.
holder =
new
DMRViewHolder();
48.
49.
holder.ivIcon = (ImageView)row.findViewById(R.id.iv_image);
50.
holder.tvName = (TextView)row.findViewById(R.id.tv_item);
51.
52.
row.setTag(holder);
53.
}
54.
else
55.
{
56.
holder = (DMRViewHolder)row.getTag();
57.
}
58.
59.
DeviceItem item = m_lstDevice.get(position);
60.
61.
holder.ivIcon.setImageBitmap(item.getBitmap()));
62.
holder.tvName.setText(item.getFriendlyName());
63.
64.
return
row;
65.
}
66.
67.
class
DMRViewHolder
68.
{
69.
ImageView ivIcon;
70.
TextView tvName;
71.
}
72.
}</deviceitem></deviceitem></deviceitem>
它然後跟隨從實際上彈出調用的一部分,您可以使用Adapter連接到對方給 ListView。
01.
private
void
ChangeDisplay()
02.
{
03.
if
(m_adlgChangeDisplay !=
null
)
04.
{
05.
m_adlgChangeDisplay.dismiss();
06.
}
07.
08.
m_arrDeviceList = AllShareWrapperAPI.getInstance().getDMRList();
09.
10.
final
DMRListAdapter adapter =
new
DMRListAdapter
11.
(
this
, R.layout.comp_photo_viewer_dmr_list_row, m_arrDeviceList);
12.
adapter.SetDMRIconLoader(m_DMRIconLoader);
13.
14.
m_adlgChangeDisplay =
new
AlertDialog.Builder(
this
)
15.
.setTitle(
"Change Display"
)
16.
.setNeutralButton(
"Refresh"
,
new
DialogInterface.OnClickListener()
17.
{
18.
@Override
19.
public
void
onClick(DialogInterface dialog,
int
which)
20.
{
21.
ChangeDisplay();
22.
}
23.
})
24.
.setNegativeButton(
"Cancel"
,
new
DialogInterface.OnClickListener()
25.
{
26.
@Override
27.
public
void
onClick(DialogInterface dialog,
int
which)
28.
{
29.
30.
}
31.
})
32.
.setAdapter(adapter,
new
DialogInterface.OnClickListener()
33.
{
34.
@Override
35.
public
void
onClick(DialogInterface dialog,
int
which)
36.
{
37.
DeviceItem deviceItem = m_arrDeviceList.get(which);
38.
Toast.makeText(actImagePlayer.
this
,
39.
deviceItem.getFriendlyName() +
"is selected."
, Toast.LENGTH_SHORT ).show();
40.
// 每個專案執行情況的詳細資訊,請按一下此處
41.
}
42.
})
43.
.create();
44.
45.
m_adlgChangeDisplay.show();
46.
}
留言列表