hcg_21 2013-04-23 03:46 采纳率: 0%
浏览 2383

onCreateDialog 中的 EditText

在程序中通过 longCLick 创建了AlertDialog

  @Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DIALOG_TEXT_ENTRY:
        // This example shows how to add a custom layout to an AlertDialog
        LayoutInflater factory = LayoutInflater.from(this);
        final View textEntryView = factory.inflate(R.layout.custom_dialog, null);
        final EditText cdet11 = (EditText) findViewById(R.id.cdet1);
        final TextView tv11 = (TextView) findViewById(R.id.buname1);
        return new AlertDialog.Builder(Main.this)
            .setIcon(R.drawable.icon)
            .setTitle("Title")
            .setView(textEntryView)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    android.os.Debug.waitingForDebugger();
                    String string1 = getSharedPreferences("PREFERENCE", MODE_PRIVATE).getString("butname11", "");
                    String ss1 = cdet11.getText().toString();
                    getSharedPreferences("PREFERENCE", MODE_PRIVATE)
                    .edit()
                    .putString("butname11", ss1 )
                    .commit();
                    String string11 = getSharedPreferences("PREFERENCE", MODE_PRIVATE).getString("butname11", "");
                    tv11.setText(string11);
                    /* User clicked OK so do some stuff */
                }
            })
            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {

                    /* User clicked cancel so do some stuff */
                }
            })
            .create();
    }
    return null;
}

但是获得这样的错误:

04-21 14:54:25.319: E/AndroidRuntime(6331): java.lang.NullPointerException
04-21 14:54:25.319: E/AndroidRuntime(6331):     at com.home.Main$3.onClick(Main.java:166)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at android.os.Handler.dispatchMessage(Handler.java:99)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at android.os.Looper.loop(Looper.java:144)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at android.app.ActivityThread.main(ActivityThread.java:4937)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at java.lang.reflect.Method.invokeNative(Native Method)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at java.lang.reflect.Method.invoke(Method.java:521)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-21 14:54:25.319: E/AndroidRuntime(6331):     at dalvik.system.NativeStart.main(Native Method) 

问题出在哪里呢?

  • 写回答

1条回答 默认 最新

  • luhuajcdd 2013-04-23 07:56
    关注

    错误信息不够全.
    这里有怎么创建一个Dialog:http://developer.android.com/intl/zh-CN/guide/topics/ui/dialogs.html

     AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder.setTitle(R.string.pick_color);
               .setItems(R.array.colors_array, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int which) {
                   // The 'which' argument contains the index position
                   // of the selected item
               }
        });
        builder.create();
    
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料