显示单选列表对话框
?
?
?
?
?
?
package?com.js.sinlgechoiceitemstest;
?
import?android.app.Activity;
import?android.app.AlertDialog;
import?android.content.DialogInterface;
import?android.os.Bundle;
import?android.os.Handler;
import?android.view.View;
import?android.view.View.OnClickListener;
import?android.widget.Button;
import?android.widget.Toast;
?
public?class?SingleChoiceItemsTest?extends?Activity?implements?OnClickListener
{
????private?String[]?province?=?new?String[] {?"上海",?"北京",?"湖南",?"湖北",?"海南"?};
????private?Button?btnSingleChoiceList;
????//?單擊事件對象的實例
????private?ButtonOnClick?buttonOnClick?=?new?ButtonOnClick(1);
?
????/** Called when the activity is first created. */
????@Override
????public?void?onCreate(Bundle savedInstanceState)
????{
???????super.onCreate(savedInstanceState);
???????setContentView(R.layout.main);
?
???????btnSingleChoiceList?= (Button) findViewById(R.id.btnSingleChoice);
???????btnSingleChoiceList.setOnClickListener(this);
????}
?
????@Override
????public?void?onClick(View v)
????{
???????showSingleChoiceButton();
????}
?
????//?在單選選項中顯示?確定和取消按鈕
????//buttonOnClickg變量的數據類型是ButtonOnClick,一個單擊事件類
????private?void?showSingleChoiceButton()
????{
???????AlertDialog.Builder builder =?new?AlertDialog.Builder(this);
???????builder.setTitle("請選擇省份");
???????builder.setSingleChoiceItems(province, 0,?buttonOnClick);
???????builder.setPositiveButton("確定",?buttonOnClick);
???????builder.setNegativeButton("取消",?buttonOnClick);
???????builder.show();
????}
?
????private?class?ButtonOnClick?implements?DialogInterface.OnClickListener
????{
??????
???????private?int?index;?//?表示選項的索引
?
???????public?ButtonOnClick(int?index)
???????{
???????????this.index?= index;
???????}
?
???????@Override
???????public?void?onClick(DialogInterface dialog,?int?which)
???????{
???????????// which表示單擊的按鈕索引,所有的選項索引都是大于0,按鈕索引都是小于0的。
???????????if?(which >= 0)
???????????{
??????????????//如果單擊的是列表項,將當前列表項的索引保存在index中。
??????????????//如果想單擊列表項后關閉對話框,可在此處調用dialog.cancel()
??????????????//或是用dialog.dismiss()方法。
??????????????index?= which;
???????????}
???????????else
???????????{
??????????????//用戶單擊的是【確定】按鈕
??????????????if?(which == DialogInterface.BUTTON_POSITIVE)
??????????????{
??????????????????//顯示用戶選擇的是第幾個列表項。
??????????????????final?AlertDialog ad =?new?AlertDialog.Builder(
??????????????????????????SingleChoiceItemsTest.this).setMessage(
??????????????????????????"你選擇的地區是:"?+?index?+?":"?+?province[index]).show();
??????????????????//五秒鐘后自動關閉。
??????????????????Handler hander =?new?Handler();
??????????????????Runnable runnable =?new?Runnable()
??????????????????{
?
?????????????????????@Override
?????????????????????public?void?run()
?????????????????????{
?????????????????????????ad.dismiss();
?????????????????????}
??????????????????};
??????????????????hander.postDelayed(runnable, 5 * 1000);
??????????????}
??????????????//用戶單擊的是【取消】按鈕
??????????????else?if?(which == DialogInterface.BUTTON_NEGATIVE)
??????????????{
??????????????????Toast.makeText(SingleChoiceItemsTest.this,?"你沒有選擇任何東西",
??????????????????????????Toast.LENGTH_LONG);
??????????????}
???????????}
???????}
????}
}
轉載于:https://www.cnblogs.com/dachao/archive/2012/05/28/2521216.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 中信淘宝联名信用卡的额度是多少?申请条件
- 下一篇: 全修CALL