zoukankan      html  css  js  c++  java
  • android开发中一个activity如何调用另一个xml中的控件

    有时候,我们需在一个activity中使用另一个activity中的控件,这时候就不能直接findViewById,不然会报错指向空对象,这时就需要像下面这样做。

    LayoutInflater factory = LayoutInflater.from(当前类.this); 

    View layout = factory.inflate(R.layout.你要获取的另一个XML, null); 

    TextView textview = (TextView) layout.findViewById(R.id.控件ID);

    上面这样的方法仅限在activity或Fragment中引入,但是如果想引入弹出的自定义的dialog中的控件该怎么办呢?这里以使用dialog中的Edittext为例。

    SettingDialog.java是我自定义的dialog,其中里面包含几个Editext。效果图如下:

    这里我想在弹出这个dialog的Activity中使用dialog中的控件,那么应该这么办:

    先在Activity中声明这个dialog

    private SettingDialog settingDialog =new SettingDialog(this, R.style.MyDialog);//括号里面的是SettingDialog的构造器SettingDialog(Context context,int theme);

    然后再activity声明想使用的dialog中的控件(这里我以“服务器IP地址的Editext为例”)

        private EditText server_ip;// 对话框的ip
       server_ip = (EditText) settingDialog.findViewById(R.id.server_ip);

    这样就可以将Dialog中的控件获取到了,接下来就可以正常按照一般的控件进行操作了。

  • 相关阅读:
    NOI2004 郁闷的出纳员 [Splay]
    关押罪犯 [二分]
    SCOI2010 传送带 [三分/模拟退火]
    POI2007 MEG-Megalopolis [树状数组]
    食物链 [并查集]
    SDOI2011 染色 [树链剖分]
    国家集训队 数颜色 [莫队]
    JSOI2008 星球大战 [并查集]
    [NOI2002] 银河英雄传说 (带权并查集)
    种树 [堆]
  • 原文地址:https://www.cnblogs.com/1925yiyi/p/7568475.html
Copyright © 2011-2022 走看看