以下是重构后的代码:

```java

package com.example.xin.duihua;

import android.support.v7.app.ActionBarActivity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends ActionBarActivity {

private Button bt1, bt2, bt3, bt4, bt5;

private String[] single_list = {"男", "女", "男程序猿", "女博士"};

private String[] multi_list = {"足球", "篮球", "男人", "女人"};

private String[] item_list = {"老板", "经理", "主管", "组长"};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initEvent();

}

//初始化事件处理方法

private void initEvent() {

bt1 = findViewById(R.id.btn1);

bt2 = findViewById(R.id.btn2);

bt3 = findViewById(R.id.btn3);

bt4 = findViewById(R.id.btn4);

bt5 = findViewById(R.id.btn5);

bt1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//处理单选按钮1的点击事件

}

});

bt2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//处理单选按钮2的点击事件

}

});

bt3.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//处理单选按钮3的点击事件

}

});

bt4.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//处理单选按钮4的点击事件

}

});

bt5.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//处理单选按钮5的点击事件

}

});

}

}

```

重构后的代码如下:

```java

private void Event() {

// 绑定点击事件监听器

findViewById(R.id.bt_1).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

showDialog1();

}

});

findViewById(R.id.bt_2).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

showDialog2();

}

});

findViewById(R.id.bt_3).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

showDialog3();

}

});

findViewById(R.id.bt_4).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

showDialog4();

}

});

findViewById(R.id.bt_5).setOnClickListener(new OnClickListener() {

@Override

public void onClick(View view) {

showDialog5();

}

});

}

/**

* 显示第一个确认对话框

*/

protected void showDialog1() {

// TODO Auto-generated method stub

}

```

```

AlertDialog.Builder builder = new AlertDialog.Builder(this); // 获得一个builder对象

builder.setTitle("确认对话框"); // 设置标题

builder.setIcon(R.drawable.ic_launcher); // 设置图标

builder.setMessage("确认对话框提示内容"); // 设置内容

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// 点击了确定按钮

Toast.makeText(MainActivity.this, "点击了确定按钮!", Toast.LENGTH_SHORT).show();

}

});

builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// 点击了取消按钮

Toast.makeText(MainActivity.this, "点击了取消按钮!", Toast.LENGTH_SHORT).show();

}

});

AlertDialog dialog = builder.create(); // 获取dialog

dialog.show(); // 显示对话框

}

/**

* 显示单选按钮对话框

*/

protected void showDialog2() {

// TODO Auto-generated method stub

AlertDialog.Builder builder = new AlertDialog.Builder(this); // 获得一个builder对象

builder.setTitle("确认对话框"); // 设置标题

builder.setIcon(R.drawable.ic_launcher); // 设置图标

builder.setMessage("确认对话框提示内容"); // 设置内容

builder.setSingleChoiceItems(new String[] {"选项1", "选项2", "选项3"}, // 设置选项列表

getSelectedItemIndex(), new DialogInterface.OnClickListener() { // 点击事件处理方法

@Override

public void onClick(DialogInterface dialog, int which) {

switch (which) {

case 0: // 点击了选项1

Toast.makeText(MainActivity.this, "点击了选项1", Toast.LENGTH_SHORT).show();

break;

case 1: // 点击了选项2

Toast.makeText(MainActivity.this, "点击了选项2", Toast.LENGTH_SHORT).show();

break;

case 2: // 点击了选项3

Toast.makeText(MainActivity.this, "点击了选项3", Toast.LENGTH_SHORT).show();

break;

}

}

});

builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { // 确定按钮的点击事件处理方法

@Override

public void onClick(DialogInterface dialog, int which) {}

});

builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {}); // 取消按钮的点击事件处理方法

AlertDialog dialog = builder.create(); // 获取dialog对象并显示出来。注意这里的参数为null表示没有父窗口传递进来的参数。如果需要传递参数给子窗口可以传入Bundle类型的对象。例如:dialog = builder.create(); Bundle bundle = new Bundle(); bundle.putString("key","value"); dialog.getWindow().setIntent(new Intent()); dialog.getWindow().setAttributes(bundle); dialog.show();//显示对话框。这个方法是必须的,不能省略。否则会出现运行错误。因为在创建完dialog后必须要调用show()方法才能正常显示出来。而且在调用show()方法之前必须先创建dialog,不能颠倒顺序。所以说一定要按照以下步骤来编写代码:首先创建builder对象然后通过builder来创建dialog对象最后再调用show()方法显示出来。这样就不会出现异常了。

请将以下代码重构并保持段落结构:

```java

builder.setTitle("选择性别");//设置标题

builder.setIcon(R.drawable.ic_launcher);//设置图标

builder.setSingleChoiceItems(single_list, 0, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub

String str = single_list[which];

Toast.makeText(MainActivity.this, "这个人是" + str + "!", Toast.LENGTH_SHORT).show();

}

});

AlertDialog dialog = builder.create();//获取dialog

dialog.show();//显示对话框

}

/**

* 显示多选按钮对话框

*/

protected void showDialog3() {

// TODO Auto-generated method stub

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("爱好");//设置标题

builder.setIcon(R.drawable.ic_launcher);//设置图标

builder.setMultiChoiceItems(multi_list, null, new DialogInterface.OnMultiChoiceClickListener() {

@Override

public void onClick(DialogInterface dialog, int which, boolean isChecked) {

// TODO Auto-generated method stub

if (isChecked){

// ...

} else {

// ...

}

}

});

Button positiveButton = builder.create().show();//获取确定按钮并显示

Button negativeButton = builder.create().show();//获取取消按钮并显示

}

```

Toast.makeText(MainActivity.this, "我喜欢上了" + multi_list[which] + "!", Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(MainActivity.this, "我不喜欢你" + multi_list[which] + "了!", Toast.LENGTH_SHORT).show();

}

});

AlertDialog dialog = builder.create(); //获取dialog

dialog.show(); //显示对话框

}

/**

* 显示列表对话框

*/

protected void showDialog4() {

// TODO Auto-generated method stub

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("部门列表");

builder.setIcon(R.drawable.ic_launcher);

builder.setItems(item_list, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {

// TODO Auto-generated method stub

Toast.makeText(MainActivity.this, "我炒了" + item_list[arg1], Toast.LENGTH_SHORT).show();

}

});

AlertDialog dialog = builder.create(); //获取dialog

dialog.show(); //显示对话框

}

/**

* 显示自定义对话框

*/

protected void showDialog5() {

// TODO Auto-generated method stub

// 将xml转化为View

以下是重构后的代码:

```java

LayoutInflater inflater = LayoutInflater.from(this);

View view = inflater.inflate(R.layout.dialog_layout, null);

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("自定义对话框"); //设置标题

builder.setIcon(R.drawable.ic_launcher); //设置图标

builder.setView(view);

AlertDialog dialog = builder.create(); //获取dialog

dialog.show(); //显示对话框

}

```

dialog_layout布局文件内容如下:

```xml

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:id="@+id/IV"

android:src="@drawable/item5"/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

... />

```

以下是您提供的内容的重构版本:

```xml

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="vertical">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="请输入内容"

android:layout_weight="1"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="确定"

android:layout_marginLeft="10dip"/>

```

这是重构后的代码。请注意,我删除了原始代码中的HTML标签和注释。