================================================================android
簡單列表對話框的建立和基本使用數組
一、在佈局界面佈局 activity_main.xml佈局 文件app
代碼ide
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >佈局
<!-- 簡單列表對話框 -->字體
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="openSimpleList"
android:text="普通列表對話框" />ui
<TextView
android:id="@+id/text_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="啦啦德瑪西亞" />this
</LinearLayout>rest
----------------------xml
二、基本列表對話框的建立和基本使用
代碼
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("提示");
builder.setIcon(R.drawable.ic_launcher);
String[] colours = {"紅色","藍色","綠色"};
// 第一個參數 -- 要設置在簡單列表對話框 的數據 -- 數組類型
// 第二個參數 -- 簡單列表對話框的事件 監聽
builder.setItems(colours, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
textview.setTextColor(Color.RED);
break;
case 1:
textview.setTextColor(Color.BLUE);
break;
case 2:
textview.setTextColor(Color.GREEN);
break;
}
}
});
// 顯示對話框
builder.show();
效果圖示例
=======================================================================
單選列表對話框的建立和基本使用
一、在佈局界面佈局 activity_main.xml佈局 文件
代碼
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 單選列表對話框 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="openSimpleList"
android:text="單選列表對話框" />
<TextView
android:id="@+id/text_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="啦啦德瑪西亞" />
</LinearLayout>
----------------------
二、單選列表對話框的建立和基本使用
int position ;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("字體設置");
builder.setIcon(R.drawable.ic_launcher);
String[] fontSize = { "40sp", "50sp", "60sp", "70sp" };
//實現單選列表對話框的setSingleChoiceItems方法
builder.setSingleChoiceItems(fontSize, 0, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//把選擇的位置 賦值給position
position = which;
}
});
//肯定按鈕的事件監聽
builder.setPositiveButton("肯定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//把上面的單選列表框 選中的位置 傳到 肯定按鈕這裏來
switch (position) {
case 0:
textview.setTextSize(40);
break;
case 1:
textview.setTextSize(50);
break;
case 2:
textview.setTextSize(60);
break;
case 3:
textview.setTextSize(70);
}
}
});
//顯示單選列表對話框
builder.show();
效果圖片示例
=============================================================
多選列表對話框的建立和基本使用
一、在佈局界面佈局 activity_main.xml佈局 文件
代碼
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 多選列表對話框 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="openSimpleList"
android:text="多選列表對話框" />
<TextView
android:id="@+id/text_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="啦啦德瑪西亞" />
</LinearLayout>
----------------------
二、多選對話框的建立和基本使用
代碼
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("多項選擇");
builder.setIcon(R.drawable.ic_launcher);
//多選列表對話框的選擇數據
final String[] interest = {"吃飯","睡覺","打豆豆","dadada"};
final boolean[] b = new boolean[interest.length];
//顯示多選對話框的setMultiChoiceItems方法
//AlertDialog.Builder.setMultiChoiceItems
//(CharSequence[] items, boolean[] checkedItems, OnMultiChoiceClickListener listener)
builder.setMultiChoiceItems(interest, null, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
//選擇了 多項列表 中的 哪一項 就 把選中的狀態 給 boolean數組
b[which] = isChecked;
}
});
//肯定按鈕的 事件監聽
builder.setPositiveButton("肯定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
//遍歷boolean數組 來取出選擇的選項
for(int i = 0;i<b.length;i++){
if(b[i]){
sb.append(interest[i] + " ");
}
}
textview.setText("你選擇了:" + sb.toString());
}
});
builder.show();
效果圖示例
=========================================================================
自定義適配器列表對話框的建立和基本使用
//res/layout有2個佈局一個activity_main.xml文件佈局 放一個按鈕控件
//點擊按鈕彈出自定義多選列表對話框
//item_activity.xml文件佈局 自定義多選列表對話框的佈局 一個ImageView 一個TextView
一、item_activity.xml文件 佈局
代碼
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/texview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
-------------------
二、自定義適配器列表對話框的建立和基本使用
代碼
//建立一個AlerDialog對話框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("設置");
builder.setIcon(R.drawable.ic_launcher);
//自定義列表對話框中的選項數據
String[] set = {"系統設置","WiFi設置","藍牙設置","聲音設置"};
//本地圖片資源
int[] imgs = {R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04};
//把選項數據和圖片資源存入一個集合中
List<Map<String, Object>> data = new ArrayList<Map<String,Object>>();
for(int i = 0;i<set.length;i++){
Map<String, Object> set_map = new HashMap<String, Object>();
set_map.put("img", imgs[i]);
set_map.put("set", set[i]);
data.add(set_map);
}
//自定義適配器SimpleAdapter
adapter = new SimpleAdapter(this, data , R.layout.item_activity, new String[]{"img","set"}, new int[]{R.id.image,R.id.texview});
//把自定義適配器綁定到AlertDialog對話框 的方法 setAdapter
builder.setAdapter(adapter, new OnClickListener() {
@Override
});
builder.show();
}
效果圖示例
============================================================================