将框架用LayoutInflater加载到Dialog中,控件要怎么寻找? LayoutInflater 对象的findViewById(id)方法寻找; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LayoutInflater怎么取到?这个寻找需要用Button激活才有效。我使用v.findViewById()这个方法找不到。 EditText et = (EditText)findViewById(R.id.custome_text);这条语句实际是在v中也就是你事件响应的Button里查找有没有你指定的EditText,显然是不可能找到了.你要检查如果你这个语句外面包含的Activity是A,你可以A.this.findViewById(R.id.custome_text)来获取,这样就可以了 好像不行。这个Dialog是在MainActivity里,按照你这种说法,在查找的时候应当是MainActivity.this.findViewById(R.id.custome_text),刚才试了一下,不行。我的代码结构是这样的:onCreate(){ LayoutInflater inflater = LayoutInflater.from(MainActivity.this); View view = inflater.inflate(r.layout.dialog_layout, null); new AlertDialog.Builder(....) .setView(view) .show();}明显,我这个Inflater只属于MainActivity里,所以不一样的情况。 EditText是不是配置在r.layout.dialog_layout这个配置文件中如果是: View view = inflater.inflate(r.layout.dialog_layout, null); 那么就用 EditText et = (EditText)view.findViewById(R.id.custome_text);总之就用EditText的父容器.findViewById(R.id.custome_text);就可以找到了。 LZ的EditText是在r.layout.dialog_layout这个配置文件中吧?如果是: View view = inflater.inflate(r.layout.dialog_layout, null); EditText et = (EditText)view.findViewById(R.id.custome_text);总之使用EditText的父容器.findViewById(R.id.custome_text);就可以了 使用这种思路可以了,不过这个View不能即时取,而只能使用全局方式,在创建的时候就要保存在那边。 正值困惑中搜见此贴,问题解决了。十分感谢!Android的资源管理真让人受不了,不同层次的资源统统用一个动态生成类管理不知道设计人员怎么想的 用seekBar调整音量大小的问题。 google map的问题 纠结的问题,静态库 + gtest + android 关于MediaProvider的疑惑 请问一下 关于资源路径的问题 请freshui看看。在 C中实现Surface显示的问题。 如何让Android中的组件不响应触屏事件 求大神解决问题啊 Android USB 读写问题 关于调用自定义Adapter的getView方法时,holder的而一些疑问 数据备份 谁具体给我讲讲android和服务器交互的过程啊!
我使用v.findViewById()这个方法找不到。
这个Dialog是在MainActivity里,按照你这种说法,在查找的时候应当是MainActivity.this.findViewById(R.id.custome_text),刚才试了一下,不行。我的代码结构是这样的:
onCreate(){
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
View view = inflater.inflate(r.layout.dialog_layout, null);
new AlertDialog.Builder(....)
.setView(view)
.show();
}明显,我这个Inflater只属于MainActivity里,所以不一样的情况。
如果是:
View view = inflater.inflate(r.layout.dialog_layout, null);
那么就用 EditText et = (EditText)view.findViewById(R.id.custome_text);
总之就用EditText的父容器.findViewById(R.id.custome_text);
就可以找到了。
LZ的EditText是在r.layout.dialog_layout这个配置文件中吧?
如果是:
View view = inflater.inflate(r.layout.dialog_layout, null);
EditText et = (EditText)view.findViewById(R.id.custome_text);
总之使用EditText的父容器.findViewById(R.id.custome_text);
就可以了
Android的资源管理真让人受不了,不同层次的资源统统用一个动态生成类管理不知道设计人员怎么想的