亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

告訴大家如何記憶用戶單選和復選對話框的選項

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?=?{"音樂",?"籃球",?"足球",?"吉他"};
	
	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();
			}
		});
	}
	/**
	?*?顯示確認對話框
	?*/
	private?void?showDialog1()?{
		AlertDialog.Builder?builder?=?new?AlertDialog.Builder(this);
		builder.setTitle("確認對話框");
		builder.setIcon(R.drawable.ic_launcher);
		builder.setMessage("這是確認的內容");??//設置內容
		builder.setPositiveButton("確定",?new?DialogInterface.OnClickListener()?{
			
			public?void?onClick(DialogInterface?dialog,?int?which)?{
				Toast.makeText(MainActivity.this,?"確認內容",?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,?"取消內容",?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;??//記憶單選框選項
				
				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("愛好");
		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;??//記住復選框選項
				
				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();
		
????}
}

這是我的代碼,大家可以參考下,記憶復選框,只需在開始定義一個布爾類型的數組,初始值都設置為false,然后在點擊事件里將isChecked的值賦給定義的數組即可;單選只需定義一個int型的變量,方法和復選類似,還不懂的可以仔細看看代碼。

正在回答

1 回答

居然寫在了問答里,不是一般寫在筆記分類下么……

0 回復 有任何疑惑可以回復我~
#1

Listener 提問者

大家如果有問題,一般會先在問答里尋找答案
2016-05-31 回復 有任何疑惑可以回復我~
#2

斷罪龍 回復 Listener 提問者

說的也是,然后我就被課程末尾的問答給拉過來了……
2016-06-01 回復 有任何疑惑可以回復我~
#3

云海之上 回復 斷罪龍

尷尬.jpg
2016-10-23 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第2季)
  • 參與學習       62382    人
  • 解答問題       217    個

本課程講帶你熟悉Android開發中常用的調試方式,菜單、調試程序

進入課程

告訴大家如何記憶用戶單選和復選對話框的選項

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號