Android Dialog

AlertDialog的基本列表样式

  alertDialog显示的内容为基本的一个单选项。主要可以使用setItem()方法完成。依赖于一个字符串数组。

案例

R.array.hobby字符串资源文件


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="hobby">
        <item>吃饭</item>
        <item>上网</item>
        <item>睡觉</item>
        <item>LOL</item>
    </string-array>
</resources>

java文件


public class MainActivity extends AppCompatActivity {
    TextView t1;
    String[] hobbys;
    AlertDialog alertDialog;
    DialogInterface.OnClickListener onClickListener;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //获取字符串资源
        hobbys = getResources().getStringArray(R.array.hobby);
        t1 = (TextView) findViewById(R.id.t1);

        //使用事件回调方法
        onClickListener = new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                //参数which为选择的字符串数组的下标
                t1.setText(hobbys[which]);

            }
        };
    }


    public void btn1(View view) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("选择你的爱好");
        //使用setItems方法获取一个依赖的字符串数组,以及一个回调的事件
        builder.setItems(hobbys, onClickListener);
        alertDialog = builder.create();
        alertDialog.show();
    }

}