Android动态生成控件如何取值

来源:互联网 发布:hbase java api jar包 编辑:程序博客网 时间:2024/05/02 23:52

 界面少控件的情况的下,我们往往采用在xml布局文件里面写页面代码。可遇到十几个输入框或者十几个点选按钮时候,我们就需要考虑动态生成控件的方法了。控件动态生成容易,但是控制这些控件的取值和赋值则没那么容易。我们需要掌握一些规律。下面就拿RadioGroup点选按钮组来举例说明吧。

首先要在页面上生成一个动态的直线布局对象LinearLayout  layoutmain=new LinearLayout(this);

假如你要生成十组RadioGroup,代码可以如下:

for(int i=0;i<10;i++)

{

       RadioGroup groupmain=new RadioGroup(this);

       groupmain.setOrientation(LinearLayout.HORIZONTAL);//设置为竖直排列

       for(int j=0;j<5;j++)

       {

               RadioButton radio = new RadioButton(this);

               if(j==0)
               {
                    radio.setText("东邪");
                }
                if(j==1)
                {
                    radio.setText("西毒");
                }
                if(j==2)
               {
                    radio.setText("南帝");
               }

               if(j==3)

               {

                     radio.setText("北丐");

               }

               if(j==4)

               {

                     radio.setText("中神通"):
               }
              groupmain.addView(radio);

       }

       layoutmain.addView(groupmain);

}

下面是取值:

String [] index=new String[10];

for(int  i=0;i<10;i++)

{

        RadioGroup choiseGroup= (RadioGroup) Linearlayout.getChildAt(i);

        int radiobuttonId = choiseGroup.getCheckedRadioButtonId();

        for( int j = 0;j < choiseGroup.getChildCount(); j++ )
       {
              RadioButton radiobt = (RadioButton) choiseGroup.getChildAt(k);
              if(radiobt.getId()==radioId)
              {
                  index[i]=j;
              }
       }
}

好了,就写到这里了,有问题就留言,
原创粉丝点击