关于dialog的问题

liangqi2008 2010-07-13 09:39:02
各位大大们,我写了一个程序,需要用到dialog对话框,但是出现了错误,错误如下:
线程 [<1> main](已暂挂(异常 IllegalStateException))	
SearchFile(Activity).getSystemService(String) 行: 3526
LayoutInflater.from(Context) 行: 171
SearchFile.search() 行: 63
Cellphone.onOptionsItemSelected(MenuItem) 行: 236
Cellphone(Activity).onMenuItemSelected(int, MenuItem) 行: 2195
PhoneWindow.onMenuItemSelected(MenuBuilder, MenuItem) 行: 730
MenuItemImpl.invoke() 行: 143
MenuBuilder.performItemAction(MenuItem, int) 行: 855
IconMenuView.invokeItem(MenuItemImpl) 行: 532
IconMenuItemView.performClick() 行: 122
View$PerformClick.run() 行: 8816
ViewRoot(Handler).handleCallback(Message) 行: 587
ViewRoot(Handler).dispatchMessage(Message) 行: 92
Looper.loop() 行: 123
ActivityThread.main(String[]) 行: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) 行: 不可用 [本机方法]
Method.invoke(Object, Object...) 行: 521
ZygoteInit$MethodAndArgsCaller.run() 行: 868
ZygoteInit.main(String[]) 行: 626
NativeStart.main(String[]) 行: 不可用 [本机方法]

程序在这里,请大家看看:
public void search()
{
LayoutInflater inflater = LayoutInflater.from(this);//执行到这里出错
final View textEntryView = inflater.inflate(
R.layout.dialog, null);
final EditText search1=(EditText) textEntryView.findViewById(R.id.EditText);
Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.app_about);
builder.setView(textEntryView);
builder.setPositiveButton(R.string.str_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {

searchItems = search1.getText().toString();
}
});
builder.show();

}

请问一下为什么会出错?谢谢了
...全文
106 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangqi2008 2010-07-15
  • 打赏
  • 举报
回复
谢谢,问题已经解决了,似乎是 LayoutInflater inflater = LayoutInflater.from(this) 不能在别的类里面引用,我把这个方法写在我的主类里面就不会报错了,求教这是为什么?
liangqi2008 2010-07-15
  • 打赏
  • 举报
回复
也许是dialog自成一体吧,在两个类里可能造成混淆吧,就这样了,谢谢以上各位
yyy025025025 2010-07-15
  • 打赏
  • 举报
回复
mContext为当前显示的activity

LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
梦_枫 2010-07-15
  • 打赏
  • 举报
回复
这个类可以在别的地方引用啊,
但this这个参数必须是Context类型的,
难道你传的this不是一个Context类型的吗?不是一个Activity啊
liqi4960710 2010-07-14
  • 打赏
  • 举报
回复
没看懂!!帮顶!
vclongking 2010-07-14
  • 打赏
  • 举报
回复
LZ上的这段代码 , 我觉得应该没什么问题。
我看你写的 , 第一句就出错, 问题应该不在这里吧
梦_枫 2010-07-14
  • 打赏
  • 举报
回复
builder.setView(textEntryView);
这句话有错
这里面不能直接传textEntryView
应该传EditText

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧