我正在尝试使用listview创建一个自定义对话框,该对话框将包含复选框和textview,我无法找到合理的教程来执行此操作,任何帮助或提示都将不胜感激。
答案 0 :(得分:5)
private void showPopUp()
{
final AlertDialog.Builder helpBuilder = new AlertDialog.Builder(this);
helpBuilder.setTitle("");
LayoutInflater inflater = getLayoutInflater();
final View PopupLayout = inflater.inflate(R.layout.yourxml, null);
helpBuilder.setView(PopupLayout);
final AlertDialog helpDialog = helpBuilder.create();
helpDialog.show();
jobList = (ListView)PopupLayout.findViewById(R.id.list);
mylist = new ArrayList<HashMap<String, String>>();
for(int i=0;i<arraylist.size();i++)
{
map = new HashMap<String, String>();
map.put("name", arraylist.get(i));
mylist.add(map);
}
sd = new SimpleAdapter(activity.this,mylist,R.layout.jobslist,
new String[]{"name"},new int[]{R.id.jobText});
jobList.setAdapter(sd);
}
<强> joblist.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lin01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:padding="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/jobText"
android:layout_width="0dp"
android:text="@string/jobtype"
android:layout_weight="1"
android:gravity="left|center_vertical"
android:layout_marginLeft="10dp"
android:textSize="25dp"
android:textColor="#000"
android:layout_height="50dp"/>
<CheckBox
android:id="@+id/chk"
android:layout_width="wrap_content"
android:text=""
android:gravity="center_vertical|right"
android:layout_height="wrap_content"/>
</LinearLayout>
您可以在任何想要使用listview显示警告对话框的地方调用此showPopUp();
函数。请注意,会有一个arraylist,您可以添加项目以显示列表中的项目
答案 1 :(得分:2)
ListView myList = new ListView(Activity.this);
myList.setAdapter(adapter);
AlertDialog.Builder builder = new AlertDialog.Builder(Activity.this);
builder.setView(myList);
Dialog d = builder.create();
d.show();
您可以指定文本视图和复选框以及适配器中的其他任何内容。
答案 2 :(得分:1)
听起来你正在寻找的是ListView的多选模式。在不知道这个短语的情况下,很难得到一个好的例子,但是here's another SO question with answers that might help you out.
(在对话框中执行此操作基本上与所选答案的示例中的过程相同。)