我想写一个弹出对话框然后输入文本的效果,但是,对文本进行判断时,却一直报这个错误求 各位大神解决。谢谢!
private void showDialog(){
     LayoutInflater inflater = getLayoutInflater();
        View layout = inflater.inflate(R.layout.dialog,
          (ViewGroup)findViewById(R.id.layout_dialog));
        
     new AlertDialog.Builder(this)
        .setTitle(R.string.dialogtitle)
        .setIcon(R.drawable.rss1)   
        .setView(layout)
        .setPositiveButton(R.string.dialogOK, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
edittitle = (EditText)findViewById(R.id.edittitle);
editurl = (EditText)findViewById(R.id.editurl);

String title = edittitle.getText().toString();
String url = editurl.getText().toString();

if(title.equals("") || url.equals("")){
Toast toast=Toast.makeText(getApplicationContext(), "标题和源URL都不能为空", Toast.LENGTH_SHORT);
toast.show();

}else{


}


}
})
.setNegativeButton(R.string.dialogCancle, new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
               
                 Log.d(TAG, "Nothing to do !");
}
}).create().show();
    
    }

解决方案 »

  1.   

    要改成这样 要不findViewById返回null
    editurl = (EditText)layout.findViewById(R.id.editurl);
    edittitle = (EditText))layout.findViewById(R.id.edittitle);
      

  2.   

    if(title.equals("") || url.equals("")){
    应该是这里报的空吧,如果字符串要使用equals方法的话,字符串本身一定不能为null,
    在这个判断前加入title和url是否为null的判断
      

  3.   


    edittitle = (EditText)findViewById(R.id.edittitle);
    editurl = (EditText)findViewById(R.id.editurl);这两句改成edittitle = (EditText)layout.findViewById(R.id.edittitle);
    editurl = (EditText)layout.findViewById(R.id.editurl);建议你看一下这篇文章:http://blog.csdn.net/wuxianglong/article/details/6635338