AlertDialog.java

// 将Activity显示为Dialog的方法:
//     在AndroidManifest.xml文件中, 设置Activity的属性
//         android:theme="@android:style/Theme.Dialog"

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.view.LayoutInflater;
import android.view.Menu;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

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

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle(R.string.app_name);
        builder.setIcon(R.drawable.ic_launcher);
        builder.setMessage("Message");

        CharSequence[] items = {"item 0", "item 1", "item 2"};
        boolean[] checkedItems = {true, true, true, true};

        // 选项
        // builder.setItems(items, null);

        // 单选框
        // builder.setSingleChoiceItems(items, 0, new OnClickListener() {
        //     @Override
        //     public void onClick(DialogInterface arg0, int arg1) {
        //         // TODO Auto-generated method stub
        //         Toast.makeText(MainActivity.this, "" +arg1, Toast.LENGTH_SHORT).show();
        //     }
        // });

        // 复选框
        // builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {
        //     @Override
        //     public void onClick(DialogInterface arg0, int arg1, boolean arg2) {
        //         // TODO Auto-generated method stub
        //         Toast.makeText(MainActivity.this, "" +arg1 + ", " + arg2, Toast.LENGTH_SHORT).show();
        //     }
        // });

        builder.setView(getLayoutInflater().inflate(R.layout.activity_main, null));

        // 按钮索引
        //     Positive: -1
        //     Negative: -2
        //     Neutral: -3
        builder.setPositiveButton("确定", null);
        builder.setNegativeButton("取消", null);
        builder.setNeutralButton("中立", null);

        builder.create();
        builder.show();

        // Dialog dialog = new Dialog(this);
        // dialog.setContentView(R.layout.activity_main);
        // dialog.show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}
时间: 2024-11-08 10:29:09

AlertDialog.java的相关文章

Android AlertDialog对话框自定义风格的另类实现

一.引子 学过Android的同学都知道,对话框的重要程度非常高,任何一款 app几乎都离不开对话框,值得庆幸的是,对话框的运用在Android中还是相对比较容易的.虽然很简单,但我在项目中还是碰到些问题,比如,如何实现自定义的对话框NegativeButton的点击效果.如何改变标题的字体大小和颜色等. 二.分析和实现 下面来看一下下面那张效果图,微信长按通讯录时弹出的对话框. 我相信,只要是有了一定Android基础的同学都能实现此功能,就算一时忘记了,稍微google下也是能做出来的:根据

kotlin编《第一行代码》(2)

一.alertdialog java: AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this); dialog.setTitle("This is Dialog"); dialog.setMessage("Something important."); dialog.setCancelable(false); dialog.setPositiveButton("OK&quo

bug_android.view.WindowManager$BadTokenException: Unable to add window -- token

========5 java.lang.IllegalArgumentException: View not attached to window manager at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:653) at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:349) at android.view.Wi

蓝牙压力测试报抛android.os.TransactionTooLargeException异常分析总结

1.从main日志中找到异常点,如下: 08-20 11:05:19.754 5023 5023 E AndroidRuntime: FATAL EXCEPTION: main 08-20 11:05:19.754 5023 5023 E AndroidRuntime: Process: com.android.bluetooth, PID: 5023 08-20 11:05:19.754 5023 5023 E AndroidRuntime: java.lang.RuntimeExceptio

蓝牙压力測试报抛android.os.TransactionTooLargeException异常分析总结

1.从main日志中找到异常点,例如以下: 08-20 11:05:19.754 5023 5023 E AndroidRuntime: FATAL EXCEPTION: main 08-20 11:05:19.754 5023 5023 E AndroidRuntime: Process: com.android.bluetooth, PID: 5023 08-20 11:05:19.754 5023 5023 E AndroidRuntime: java.lang.RuntimeExcept

Android对话框之Context

代码就这么一段: new AlertDialog.Builder(getApplicationContext(),R.style.MyAlertDialogStyle) .setTitle("温柔") .setMessage("不知道 不明了 不想要\n" + "为什么 我的心") .setPositiveButton("确定",null) .setNegativeButton("取消",null) .sh

SVN常用的命令

SVN是一个开源的版本控制系统,它是一种集中式的版本控制系统,工作时需要联网:而现在比较流行的Git是一种分布式的版本控制系统,关于两者的比较可以参考SVN和Git的比较 下面只是来介绍下SVN中常用的命令,我安装的版本是Ubuntu 12.04 SVN 1.7 一.如果不清楚SVN可以使用哪些命令,只要help就会列出所有的命令,但常用的命令只有几个而已 svn help - Help! 别名:?,h 描述:显示帮助信息 访问库:否. eg: [email protected]:~/D/dzt

Android Exception 9(requestFeature() must be called before adding content)

08-05 17:36:12.799: W/System.err(10378): java.lang.reflect.InvocationTargetException08-05 17:36:12.799: W/System.err(10378):     at java.lang.reflect.Method.invokeNative(Native Method)08-05 17:36:12.809: W/System.err(10378):     at java.lang.reflect.

bug_ _ android.view.WindowManager$BadTokenException: Unable to add window -- token

android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running?at android.view.ViewRootImpl.setView(ViewRootImpl.java:546)at android.view.WindowManagerImpl.addView(WindowManagerImp