使用的是 AlertDialog.Builder 的setSingleChoiceItems方法
先声明集合和数组,数组存放数据放入几个中方便取值
String []sexs=new String[]{"男","女"};
List<Integer> list=new ArrayList<>();
主要的流程
1.创建builder
2.设置属性
3.创建AlertDialog
4.显示对话框
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_signle"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.axnet.duihuakuangtest.SignleActivity">
<Button
android:id="@+id/btnSelect"
android:text="单选"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/tv"
android:text="Test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
public class SignleActivity extends AppCompatActivity {
Button btnSelect;
TextView tv;
String []sexs=new String[]{"男","女"};
List<Integer> list=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signle);
init();
btnSelect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv.setText("");
//创建builder
AlertDialog.Builder builder=new AlertDialog.Builder(SignleActivity.this);
//设置属性
builder.setIcon(R.mipmap.ic_launcher);
builder.setTitle("单选");
builder.setSingleChoiceItems(sexs, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// dialog.dismiss();
if(dialog!=null){
list.add(which);
dialog.dismiss();
for(Integer index : list){
tv.append(sexs[index]+",");
}
list.clear();
}
}
});
//创建AlertDialog
AlertDialog dialog=builder.create();
//显示对话框
dialog.show();
}
});
}
private void init() {
btnSelect=(Button) findViewById(R.id.btnSelect);
tv=(TextView) findViewById(R.id.tv);
}
}
效果图