Android常見的彈窗及使用方法
阿新 • • 發佈:2018-12-08
轉載自:https://blog.csdn.net/qq_35698774/article/details/79779238
setTitle :為對話方塊設定標題 setIcon :為對話方塊設定圖示 setMessage:為對話方塊設定內容 setView : 給對話方塊設定自定義樣式 setItems :設定對話方塊要顯示的一個list,一般用於顯示幾個命令時 setMultiChoiceItems :用來設定對話方塊顯示一系列的複選框 setSingleChoiceItems :用來設定對話方塊顯示一系列的單選框 setNeutralButton :普通按鈕 setPositiveButton :給對話方塊新增"Yes"按鈕 setNegativeButton :對話方塊新增"No"按鈕 create : 建立對話方塊 show :顯示對話方塊
- 自定義View
//(此處也可選用setAdapter的方式)
//mData自己進行填充資料的內容初始化
List<String> mData = new ArrayList<>();
//主要程式碼一
AlertDialog.Builder dialog = new ALertDialog.Builder();
//這部分與配置recyclerView 的Adapter類似
View dialogView = View.inflate(this,R.layout.dialog_layout,null);
CustomAdapter viewAdapter = new CustomAdapter(this,mData);
dialogView.setAdapter(viewAdapter);
viewAdapter.setOnItemClickListener(this);
//主要程式碼二
AlertDialog showDialog = dialog.setView(dialogView).create();
/**
*此處注意:
*①每次在顯示dialog的時候,都需要進行建立,不然,會報You must call removeView() on the child's parent first.的錯。
*/
- setAdapter的用法
AlertDialog alertDialog6 = new AlertDialog.Builder(this)
.setTitle("title")
.setIcon(R.mipmap.ic_launcher)
.setAdapter(new ArrayAdapter<String>(AlertDialogActivity.this, R.layout.item, R.id.tv, items6), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlertDialogActivity.this, "點的是:" + items6[i], Toast.LENGTH_SHORT).show();
}
})
.create();
alertDialog6.show();
- 設定簡單內容、單選、多選列表
final String[] items4 = new String[]{"a ", "b ", "c ", "d "};//建立item
AlertDialog alertDialog4 = new AlertDialog.Builder(this)
.setTitle("選擇")
.setIcon(R.mipmap.ic_launcher)
//只設置內容
.setMessage("content")
//設定多選列表
.setMultiChoiceItems(items5, booleans, new DialogInterface.OnMultiChoiceClickListener() {//建立多選框
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean b) {
booleans[i] = b;
}
})
//單列表設定
.setItems(items3, new DialogInterface.OnClickListener() {//新增列表
//單選列表設定
.setSingleChoiceItems(items4, 0, new DialogInterface.OnClickListener() {//新增單選框
@Override
public void onClick(DialogInterface dialogInterface, int i) {
index = i;
}
})
.setPositiveButton("確定", new DialogInterface.OnClickListener() {//新增"Yes"按鈕
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlertDialogActivity.this, "這是確定按鈕" + "點的是:" + items4[index], Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {//新增取消
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(AlertDialogActivity.this, "這是取消按鈕", Toast.LENGTH_SHORT).show();
}
})
.create();
alertDialog4.show();