LayoutInflater 对象的findViewById(id)方法寻找;

解决方案 »

  1.   

    LayoutInflater怎么取到?这个寻找需要用Button激活才有效。
    我使用v.findViewById()这个方法找不到。
      

  2.   

    EditText et = (EditText)findViewById(R.id.custome_text);这条语句实际是在v中也就是你事件响应的Button里查找有没有你指定的EditText,显然是不可能找到了.你要检查如果你这个语句外面包含的Activity是A,你可以A.this.findViewById(R.id.custome_text)来获取,这样就可以了
      

  3.   

    好像不行。
    这个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里,所以不一样的情况。
      

  4.   

    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);
    就可以找到了。
      

  5.   


    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);
    就可以了
      

  6.   

    使用这种思路可以了,不过这个View不能即时取,而只能使用全局方式,在创建的时候就要保存在那边。
      

  7.   

    正值困惑中搜见此贴,问题解决了。十分感谢!
    Android的资源管理真让人受不了,不同层次的资源统统用一个动态生成类管理不知道设计人员怎么想的