我想写一个弹出对话框然后输入文本的效果,但是,对文本进行判断时,却一直报这个错误求 各位大神解决。谢谢!
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();
}
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();
}
editurl = (EditText)layout.findViewById(R.id.editurl);
edittitle = (EditText))layout.findViewById(R.id.edittitle);
应该是这里报的空吧,如果字符串要使用equals方法的话,字符串本身一定不能为null,
在这个判断前加入title和url是否为null的判断
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