2

如何在对话框中显示edittext和listview以及正负按钮?我试图分别显示它们,但我希望所有这些都在一个对话框中。

要显示编辑文本,我尝试过:

AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setView(modeList);
builder.setPositiveButton("Save", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) { 
        String myTextString = savedText.getText().toString().trim();
    }
});
4

3 回答 3

3

您需要自定义对话框

阅读有关此的android 文档,还有一个示例代码。

您还可以在此处找到教程

于 2012-06-27T10:54:11.787 回答
1

制作一个新的布局文件并:

public void showYourCustomDialog(){
    this.showDialog(YOUR_CUSTOM_DIALOG_ID);
}
@Override
public Dialog onCreateDialog(int id){
    if(id == YOUR_CUSTOM_DIALOG_ID){
        Dialog d = new Dialog();
        d.setContentView(R.id.your_dialog_layout);
        // maybe more things
        return d;
    } else return super.onCreateDialog(id);
}

您也可以创建一个新的类文件并扩展 Dialog 类。然后,您可以向对话框添加新用途,而不是 android 提供的基础知识。

于 2012-06-27T11:15:31.857 回答
0

试试这个:

String[] p_values = populate_the_list_with_your_content();
ListView mListview = new ListView(this);    // pass your context here
adpter = new ArrayAdapter<String>(this,R.layout.your_raw_item_with_whatever_you_like, p_values);
mListview.setAdapter(adpter);
AlertDialog mAlertDialog;
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
AlertDialog.Builder mBuider = new AlertDialog.Builder(your_context);
mBuider.setTitle("title");  // optional
mBuider.setPositiveButton("positive", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // do what you got to do - just be positive          
    }
});

mBuider.setNegativeButton("Back",new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    // negative reaction
    }
});

mBuider.setView(mListview);
mAlertDialog = mBuider.create();
lp.copyFrom(mAlertDialog.getWindow().getAttributes());
mAlertDialog.show();

为我工作。开心!

于 2012-06-27T11:17:35.213 回答