我正在开发一个应用程序,其中我在AlertDialog
中填充了一个列表。在某些情况下会出现对话框,显示其Title
,Message
和Custom listview
。问题是,当我在列表中添加4个以上的条目时,设置的Dialog消息将被列表视图隐藏。无论列表有多长,我想在消息下方显示列表视图。谁能帮我吗????
实施如下:
AlertDialog.Builder builder = new AlertDialog.Builder(xActivity.this);
builder.setTitle("Title");
builder.setMessage("Following items are in the List");
final ListView modeList = new ListView(xActivity.this);
ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(xActivity.this, android.R.layout.simple_list_item_1, android.R.id.text1, simpleArray);
modeList.setAdapter(modeAdapter);
modeList.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
builder.setView(modeList);
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
// Do Something
}
}});
final Dialog dialog = builder.create();
dialog.show();
任何帮助都表示赞赏.... :-)
答案 0 :(得分:3)
我建议并认为最好的方法是创建自定义对话框而不是预定义的AlertDialog。创建自己的xml。
http://developer.android.com/guide/topics/ui/dialogs.html
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/tvMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Following items are in the List"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ListView
android:id="@+id/lvList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.15" >
</ListView>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Yes" />
</LinearLayout>
爪哇
Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog_listview);
Button btn = (Button) dialog.findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
dialog.cancel();
}
});
dialog.show();
答案 1 :(得分:0)
我建议使用上面公开的相同方式,仅,而不是使用基本Dialog
类,DialogFragment类在设备状态发生变化时保持其状态(旋转/键盘...)
希望它有帮助...;)