您的位置:首页 > 其它

1min了解Dialog(文末小彩蛋)

2016-09-12 20:07 260 查看
AlertDialog 可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够屏蔽掉其他控件的交互能力,因此一般AlertDialog 都是用于提示一些非常重要的内容或者警告信息。比如为了防止用户误删重要内容,在删除前弹出一个确认对话框。下面我们来学习一下它的用法,修改MainActivity 中的代码,如下所示:

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity implements View.OnClickListener{

private Button alert_btn_main;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

alert_btn_main = (Button) findViewById(R.id.alert_btn_main);
alert_btn_main.setOnClickListener(this);

}

@Override
public void onClick(View view) {
switch (view.getId()){
case R.id.alert_btn_main:
AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("Dialog-Title");
dialog.setMessage("Dialog-Message");
dialog.setCancelable(false);
dialog.setPositiveButton("OK",new DialogInterface.OnClickListener(){

@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this,"dialog-setPositiveButton",Toast.LENGTH_SHORT).show();
}
});

dialog.setNegativeButton("Cancel",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Toast.makeText(MainActivity.this,"dialog-setNegativeButton",Toast.LENGTH_SHORT).show();
}
});
dialog.show();
break;
default:
break;
}
}
}


首先通过AlertDialog.Builder 创建出一个AlertDialog 的实例,然后可以为这个对话框设置标题、内容、可否取消等属性,接下来调用setPositiveButton()方法为对话框设置确定按钮的点击事件,调用setNegativeButton()方法设置取消按钮的点击事件,最后调用show()方法将对话框显示出来。重新运行程序,点击按钮后,效果如图所示。



文末小彩蛋:·

java.lang.ClassCastException: android.app.Application cannot be cast to serialport_api.sample.App问题

出这个异常的原因是在项目中添加了新application类(public class Application extends android.app.Application)之后,没有在manifest.xml中添加该类的声明,所以编译器抛出异常: java.lang.ClassCastException: android.app.Application cannot be cast to android_serialport_api.sample.Application

解决方法,在manifest.xml中添加:

<application

android:name="xxxx.Application">

华为手机logcat不出日志解决方案

进入拨号界面输入:*#*#2846579#*#*

依次选择ProjectMenu---后台设置----LOG设置---LOG开关 点击打开
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: