好吧,我试图做一个列表视图,列出一些地方,每个项目将有一个图片(ImageVew)和一个TextView,当一个地方被击中时,一个AlerDialog框将出现信息(每个地方的不同信息)。我知道如何制作列表视图...但我不知道如何使它可点击并显示带有差异信息的对话框窗口......我还需要一个适配器。是有可能做到这一点?如果是这样的话?怎么样?比你TextView与AlerDialog
0
A
回答
1
在我的情况下,图像是一个复选框。
的XML可能是这样的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<CheckBox android:id="@+id/check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@android:drawable/btn_star"
android:focusable="false"/>
<TextView android:id="@+id/label"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="5px"
android:layout_marginTop="6px"
android:layout_toRightOf="@+id/check"
android:textSize="25px"
android:focusable="false"/>
</RelativeLayout>
你需要像一个适配器:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Object np = getItem(position);
View view = null;
if (convertView == null) {
LayoutInflater inflator = (LayoutInflater) getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflator.inflate(R.layout.listitem, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) view.findViewById(R.id.label);
viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
view.setTag(viewHolder);
viewHolder.checkbox.setTag(np);
} else {
view = convertView;
((ViewHolder) view.getTag()).checkbox.setTag(np);
}
final ViewHolder holder = (ViewHolder) view.getTag();
holder.text.setText(np.toString);
holder.text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
[Create the Dialog]
}
});
holder.checkbox
.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
[do something]
}
});
return view;
}
static class ViewHolder {
protected TextView text;
protected CheckBox checkbox;
}
1
对列表视图点击添加事件侦听器:
getListView().setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// you create your dialog here
}
});
来创建一个对话框:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("your_message_here")
.setPositiveButton(getResources().getString(R.string.ok),
dialogClickListener).setCancelable(false).show();
相关问题
- 1. 自定义AlerDialog
- 2. WebView没有显示在AlerDialog中
- 3. <textview></textview>与<textview />
- 4. TextView与permenant http://
- 5. 错误与TextView
- 6. 细胞与TextView的
- 7. 与textview倒计时
- 8. GridView与LinearLayout中的TextView
- 9. 问题与TextView对齐android
- 10. onClickListener couses崩溃与TextView的
- 11. SimpleCursorAdapter与SQLite的ImageView和TextView
- 12. 的AsyncTask与TextView的参数
- 13. TextView与gravity = center和ellipsize = marquee?
- 14. android textview与椭圆形
- 15. TextView与两行对齐
- 16. textview与按钮在画廊
- 17. TextView与ImageSpan混淆线高
- 18. ListView与TextView与背景图像
- 19. iphone tableview单元格与自定义textview - 获取textview参考
- 20. 安卓:我的TextView如何把与TextView的
- 21. <TextView /> OR <TextView></TextView>
- 22. Android的可滚动TextView与OnClickListener
- 23. listview中有两个textview与arrayadapter和arraylist
- 24. Android TextView 3行与横向滚动
- 25. 自定义的TextView与图标
- 26. 与两个TextView的自定义按钮
- 27. 的TextView与多个超链接
- 28. android垂直textview与图像旁边
- 29. 的TextView与自定义链接
- 30. 定制与3 TextView的ListView项目