对于想了解Android中activity定义的AlertDialog调用不弹出!的读者,本文将是一篇不可错过的文章,我们将详细介绍activityalert,并且为您提供关于Activity的Ale
对于想了解Android中activity定义的AlertDialog调用不弹出!的读者,本文将是一篇不可错过的文章,我们将详细介绍activity alert,并且为您提供关于Activity的AlertDialog样式按钮、AlertDialog中的Android选项卡、Android Activity调用Dialog后的返回值方法、Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期的有价值信息。
本文目录一览:- Android中activity定义的AlertDialog调用不弹出!(activity alert)
- Activity的AlertDialog样式按钮
- AlertDialog中的Android选项卡
- Android Activity调用Dialog后的返回值方法
- Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期
Android中activity定义的AlertDialog调用不弹出!(activity alert)
问题原因:MainActivity中:定义的代码AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.getActiviy).里面获取的依赖activity不能这么获取,哪怕你设置了你的mainAcitivity=this.
解决方法:修改依赖为mainActivity,直接设置为当前activity的全局变量!注意:如果你是在其他自定义类中使用AlertDialog,那么使用MainActivity.getActiviy正常。
Activity的AlertDialog样式按钮
我有一个活动,其底部有一个“保存并取消”按钮。
在AlertDialog中,按钮显示在某种样式的容器视图内。
我怎样才能使“活动”中的按钮具有相同的外观?具体来说,如何在AlertDialog中应用按钮容器视图的样式,在包含按钮的Activity中说一个LinearLayout?
谢谢
AlertDialog中的Android选项卡
我可以在AlertDialog中有选项卡吗?
我已经阅读了很多在线教程,并且通常将意图从一种活动转移到另一种活动中.但是,警报对话框都在单个活动中.
我想在一个警报对话框中有两个选项卡.
解决方法:
Can I have tabs in AlertDialog?
大概您可以在AlertDialog中使用TabHost和TabWidget,使用选项卡的视图.此示例显示活动中的“选项卡视图”:https://github.com/commonsguy/cw-omnibus/tree/master/WidgetCatalog/Tab在您的情况下,您将使用相同的布局,但使用LayoutInflater创建视图,然后将其与AlertDialog.Builder一起使用以创建对话框.
I’ve gone through a lot of online tutorials and they usually place the intent from one activity to another in the tabs.
这些教程现在已经过时了恕我直言.在选项卡中嵌入活动的整个技术已被弃用.
Android Activity调用Dialog后的返回值方法
这个例子只是简单的返回一个String,而在实际需要时,可能需要在DIalog或非Activity(如ListView中的Adapter)中做复杂的操作后,返回值至主Activity。
例如本人最近在做一个ListView中的Adapter包含按钮,在点击其中的按钮后需要刷新整个ListView,因此便需要以下方法传值。
在Activity调用另一Activity时,可使用如下方法获得返回值:
Intent sampleIntent = new Intent(this, NewActivity.class);
startActivityForResult(sampleIntent , 1);
但如果调用的是Dialog类,或其他非Activity类时,无法使用startActivityForResult()方法。
此时,需使用另一种方法获得返回值。
方法如下:
假设:主Activity为MainActivity;被调用的Dialog类为SampleDialog。
此时我们需定义一个接口类:
interface MyListener{
public void refreshActivity(String text);
}
在SampleDIalog的构造函数中传入MyListener:
public MyListener (MyListener myListener){
this.mMyListener = myListener;
}
并且在需要返回的地方调用refreshActivity()方法:
mMyListener.refreshActivity();
然后在MainActivity中实现MyListener接口,并在show Dialog时传入实现的myListener:
private MyListener myListener = new MyListener(){
@Override
public void refreshActivity(String text){ this.mTextView1.setText(text);
}
}
new SampleDialog(myListener).show;
这样便能从Dialog返回需要的数据.
若有更好的方法,请留言指教。本人也是超级菜鸟,学习当中。
Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期
先给出结论:Dialog和AlertDialog并不会影响到Activity的生命周期,但会影响到Activity的优先级。
核心代码:
onCreated中:
Resources resources = this.getResources();
DisplayMetrics displayMetrics = resources.getDisplayMetrics();
final int widthPixels = displayMetrics.widthPixels / 2;
final int heightPixels = displayMetrics.heightPixels / 2;
//1
//Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
// .setAction("Action", null).show();
//test Dialog
// EditText editText = new EditText(ScrollingActivity.this);
// editText.setLayoutParams(new ViewGroup.LayoutParams(widthPixels, heightPixels));
// Dialog dialog = new Dialog(ScrollingActivity.this);
// dialog.setContentView(editText);
// dialog.setTitle("标题");
// dialog.setCanceledOnTouchOutside(false);
// dialog.show();
//test Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(ScrollingActivity.this);
builder.setTitle("弹窗")
.setMessage("Msg")
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
;
}
}).setCancelable(false);
builder.create().show();
}
});
In Activity:
@Override
protected void onStart() {
super.onStart();
System.out.println("ScrollingActivity.onStart");
}
@Override
protected void onResume() {
super.onResume();
System.out.println("ScrollingActivity.onResume");
}
@Override
protected void onPause() {
super.onPause();
System.out.println("ScrollingActivity.onPause");
}
@Override
protected void onStop() {
super.onStop();
System.out.println("ScrollingActivity.onStop");
}
有兴趣的同志可以新建个Activity体验一下。
今天关于Android中activity定义的AlertDialog调用不弹出!和activity alert的讲解已经结束,谢谢您的阅读,如果想了解更多关于Activity的AlertDialog样式按钮、AlertDialog中的Android选项卡、Android Activity调用Dialog后的返回值方法、Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期的相关知识,请在本站搜索。
本文标签: