写的一个Android对话框,点击按钮获取EditText里面的值,这里一直报空指针异常,研究了很长时间终于解决了。

异常如下:

我原来的代码:

//更新对话框private void updateDialog(final String id){TableLayout updatemsg = (TableLayout)getLayoutInflater().inflate(R.layout.updatemsg, null);new AlertDialog.Builder(this).setTitle("更新该条信息").setView(updatemsg).setPositiveButton("更新",new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubString musicN = ((EditText)findViewById(R.id.musicN)).getText().toString();String singerN = ((EditText)findViewById(R.id.singerN)).getText().toString();updateData(db,id,musicN,singerN);}}).setNegativeButton("取消", new OnClickListener(){public void onClick(DialogInterface dialog,int which){}}).create().show();}

对话框中引入了另一个xml配置文件updatemsg.xml:

<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TableRow>        <TextView            android:layout_width="100dip"            android:layout_height="wrap_content"            android:text="音乐名"            android:textSize="30px"            android:textColor="#ffffff" />        <EditText            android:id="@+id/musicN"            android:layout_width="100dip"            android:layout_height="wrap_content" />    </TableRow>    <TableRow>        <TextView            android:layout_width="100dip"            android:layout_height="wrap_content"            android:text="歌手"            android:textSize="30px"            android:textColor="#ffffff" />        <EditText            android:id="@+id/singerN"            android:layout_width="100dip"            android:layout_height="wrap_content" />    </TableRow></TableLayout>,

问题解决

出错原因就是这个引入的xml

在通过findViewById找EditText的时候,它是从原来的布局文件里面找的,而不是对话框的布局文件,所以当然要报空指针异常

怎样让才能找到对话框的布局文件呢?

把那两句改成;

String musicN = ((EditText)updatemsg.findViewById(R.id.musicN)).getText().toString();
String singerN = ((EditText)updatemsg.findViewById(R.id.singerN)).getText().toString();

更多相关文章

  1. Android(安卓)SDK相关介绍
  2. Android高手进阶教程(四)之----Android(安卓)中自定义属性(attr.
  3. [gitbook] Android框架分析系列之Android(安卓)stagefright框架
  4. android studio 新建项目 界面一直停在 【“building ‘ 项目名
  5. ubuntu 使用adb shell命令识别android设备
  6. 说说 Android(安卓)的常见 UI 控件
  7. android不是内部或外部命令,也不是可运行的程序或批处理文件
  8. Android(安卓)Opencore
  9. Android(安卓)更新UI的两种方法——handler和runOnUiThread()

随机推荐

  1. adb - api -android
  2. Android中的Adapter
  3. Android Build: Tips and Tricks
  4. Pair 了解一下
  5. android 自定义progressbar进度条颜色
  6. Android中通过Intent调用其他应用的方法
  7. Android数据传递相关内容概述
  8. 详解Android广播机制
  9. A20平台增加camera
  10. Android和设计模式:建造者模式