}
}
public void finishActivity(Activity activity){
if(activity!=null)
{
activityStack.remove(activity);
activity.finish();
activity=null;
}
}
public void finishActivity(Class> cls){
for (Activity activity : activityStack)
{
if(activity.getClass().equals(cls) )
{
finishActivity(activity);
}
}
}
public void finishAllActivity(){
for (int i = 0, size = activityStack.size(); i < size; i++)
{
if (null != activityStack.get(i))
{
activityStack.get(i).finish();
}
}
activityStack.clear();
}
public void AppExit(Context context){
try
{
finishAllActivity();
ActivityManager activityMgr= (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); activityMgr.restartPackage(context.getPackageName());
System.exit(0);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
public abstract class baseActivity extends AppCompatActivity {
@Override protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
AppManager.getAppManager().addActivity(this);
}
@Override protected void onDestroy()
{
super.onDestroy();
//将Activity实例从AppManager的堆栈中移除
AppManager.getAppManager().finishActivity(this);
}
}
/*需要主页面或者主类(mainactivity)处理Dialog的显示问题,通过管理APP(AppManager)获取到当前栈顶的Activity,用于构造Dialog就行了/
Dialog myDialog = new Dialog(AppManager.getAppManager().currentActivity(), R.style.dialog_style);
3.单选Dialog
int yourChoice;
private void showSingleChoiceDialog(){
final String[] items = { “我是1”,“我是2”,“我是3”,“我是4”, };
yourChoice = -1;
alertDialog.Builder singleChoiceDialog =
new alertDialog.Builder(MainActivity.this);
singleChoiceDialog.setTitle(“我是一个单选Dialog”);
singleChoiceDialog.setSingleChoiceItems(items, 0,
new DialogInterface.onClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
yourChoice = which;
}
});
singleChoiceDialog.setPositiveButton(“确定”,
new DialogInterface.onClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (yourChoice != -1) {
Toast.makeText(MainActivity.this,
“你选择了” + items[yourChoice],
Toast.LENGTH_SHORT).show();
}
}
});
singleChoiceDialog.show();
}
4.多选Dialog
ArrayList yourChoices = new ArrayList<>();
private void showMultiChoiceDialog() {
final String[] items = { “我是1”,“我是2”,“我是3”,“我是4” };
final boolean initChoiceSets[]={false,false,false,false};// 设置默认选中的选项,全为false默认均未选中
yourChoices.clear();
alertDialog.Builder multiChoiceDialog =
new alertDialog.Builder(MainActivity.this);
multiChoiceDialog.setTitle(“我是一个多选Dialog”);
multiChoiceDialog.setMultiChoiceItems(items, initChoiceSets,
new DialogInterface.onMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
if (isChecked) {
yourChoices.add(which);
} else {
yourChoices.remove(which);
}
}
});
multiChoiceDialog.setPositiveButton(“确定”,
new DialogInterface.onClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
int size = yourChoices.size();
String str = “”;
for (int i = 0; i < size; i++) {
str += items[yourChoices.get(i)] + " ";
}
Toast.makeText(MainActivity.this,
“你选中了” + str,
Toast.LENGTH_SHORT).show();
}
});
multiChoiceDialog.show();
![这里写图片描述](https://img-blog.csdn.n
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》 浏览器打开:qq.cn.hn/FTe 免费领取
et/2018061716014585?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxNjcxNzk0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
5.列表Dialog
private void showListDialog() {
final String[] items = { “我是1”,“我是2”,“我是3”,“我是4” };
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)