告訴大家如何記憶用戶單選和復(fù)選對(duì)話框的選項(xiàng)
package?com.example.alertdialogdemo; import?android.app.Activity; import?android.app.AlertDialog; import?android.content.DialogInterface; import?android.os.Bundle; import?android.view.View; import?android.view.View.OnClickListener; import?android.widget.Toast; public?class?MainActivity?extends?Activity?{ String[]?single_list?=?{"男",?"女",?"女博士",?"程序員"}; String[]?hobby_list?=?{"音樂(lè)",?"籃球",?"足球",?"吉他"}; boolean[]?checkedList?=?{false,?false,?false,?false}; private?int?checkedItem?=?0; @Override protected?void?onCreate(Bundle?savedInstanceState)?{ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initEvent1(); initEvent2(); initEvent3(); } private?void?initEvent1()?{ findViewById(R.id.dialog_btn1).setOnClickListener(new?OnClickListener()?{ public?void?onClick(View?v)?{ showDialog1(); } }); } private?void?initEvent2()?{ findViewById(R.id.dialog_btn2).setOnClickListener(new?OnClickListener()?{ public?void?onClick(View?v)?{ showDialog2(); } }); } private?void?initEvent3()?{ findViewById(R.id.dialog_btn3).setOnClickListener(new?OnClickListener()?{ public?void?onClick(View?v)?{ showDialog3(); } }); } /** ?*?顯示確認(rèn)對(duì)話框 ?*/ private?void?showDialog1()?{ AlertDialog.Builder?builder?=?new?AlertDialog.Builder(this); builder.setTitle("確認(rèn)對(duì)話框"); builder.setIcon(R.drawable.ic_launcher); builder.setMessage("這是確認(rèn)的內(nèi)容");??//設(shè)置內(nèi)容 builder.setPositiveButton("確定",?new?DialogInterface.OnClickListener()?{ public?void?onClick(DialogInterface?dialog,?int?which)?{ Toast.makeText(MainActivity.this,?"確認(rèn)內(nèi)容",?Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("取消",?new?DialogInterface.OnClickListener()?{ public?void?onClick(DialogInterface?dialog,?int?which)?{ //?TODO?Auto-generated?method?stub Toast.makeText(MainActivity.this,?"取消內(nèi)容",?Toast.LENGTH_SHORT).show(); } }); AlertDialog?dialog?=?builder.create();?//獲取dialog dialog.show();? } private?void?showDialog2()?{ AlertDialog.Builder?builder?=?new?AlertDialog.Builder(this); builder.setTitle("選擇性別"); builder.setIcon(R.drawable.ic_launcher); builder.setSingleChoiceItems(single_list,?checkedItem,?new?DialogInterface.OnClickListener()?{ public?void?onClick(DialogInterface?dialog,?int?which)?{ String?str?=?single_list[which]; checkedItem?=?which;??//記憶單選框選項(xiàng) Toast.makeText(MainActivity.this,?"此人是"?+?str?+?"!",? Toast.LENGTH_SHORT).show(); } }); AlertDialog?dialog?=?builder.create(); dialog.show(); } private?void?showDialog3()?{ AlertDialog.Builder?builder?=?new?AlertDialog.Builder(this); builder.setTitle("愛(ài)好"); builder.setIcon(R.drawable.ic_launcher); builder.setMultiChoiceItems(hobby_list,?checkedList,?new?DialogInterface.OnMultiChoiceClickListener()?{ public?void?onClick(DialogInterface?dialog,?int?which,?boolean?isChecked)?{ String?str?=?hobby_list[which]; checkedList[which]?=?isChecked;??//記住復(fù)選框選項(xiàng) if?(isChecked)?{ Toast.makeText(MainActivity.this,?"I?like?"?+?str?+?"!",?Toast.LENGTH_SHORT).show(); }?else?{ Toast.makeText(MainActivity.this,?"I?dislike?"?+?str?+?"!",?Toast.LENGTH_SHORT).show(); ???} } }); builder.setPositiveButton("確定",?new?DialogInterface.OnClickListener()?{ public?void?onClick(DialogInterface?dialog,?int?which)?{ //?TODO?Auto-generated?method?stub dialog.cancel(); } }); builder.setNegativeButton("取消",?new?DialogInterface.OnClickListener()?{ public?void?onClick(DialogInterface?dialog,?int?which)?{ //?TODO?Auto-generated?method?stub dialog.cancel(); } }); AlertDialog?dialog?=?builder.create(); dialog.show(); ????} }
這是我的代碼,大家可以參考下,記憶復(fù)選框,只需在開(kāi)始定義一個(gè)布爾類型的數(shù)組,初始值都設(shè)置為false,然后在點(diǎn)擊事件里將isChecked的值賦給定義的數(shù)組即可;單選只需定義一個(gè)int型的變量,方法和復(fù)選類似,還不懂的可以仔細(xì)看看代碼。
2016-05-31
居然寫在了問(wèn)答里,不是一般寫在筆記分類下么……