Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 获取动态添加的视图的ID大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何获取布局中动态添加的视图的ID?
public class Display 
    {

        static int i;
        Dynamic_UIActivity dyn;
        private Context context;
        View mField= null;
        TextView text;
        protected int mYear;
        protected int mMonth;
        protected int mDay;
        LinearLayout ll;
        Mynewdialog dialognew;

        public Display(Context mcontext)
        {
            context=mcontext;
            ll = new LinearLayout(mcontext);
            ll.setOrientation(LinearLayout.VERTICAL);
            dyn = new Dynamic_UIActivity();
       }

       public void addLabel(String text)
       {
        TextView textview = new TextView(context);
        textview.setText(text);
        ll.addView(textview);       
        }

        public void addField(String Type,String Tag)
        {
            mField.setId(i);
            i++;
            if(Type.equalsIgnoreCase("text"))
           {
                mField= new EditText(context);
                mField.setTag(tag);
                //int id = mField.getresources().getIdentifier((String) mField.getTag(),"id",dyn.getPackagename());
                //EditText edit = (EditText)mField.findViewById(1);
                ll.addView(mField);
            }
            if(Type.equalsIgnoreCase("datepicker"))
            {
                mField=new EditText(context);
                ((EditText) mField).setText("Pick Date");
                ll.addView(mField);
                mField.setOnClickListener(new View.onClickListener()
                {
                    @Override
                    public void onClick(View v) 
                    {
                        dialognew = new Mynewdialog(context);
                         dialognew.dialog_obj((EditText) mField);
                    }
                });
            } 
        }   

        protected datePickerDialogWithEditText.onDateSetListener mdatepickerdialog = new DatePickerDialogWithEditText.onDateSetListener()
        {
            public void onDateSet(DatePicker view,int year,int month,int datE)
             {
                  mYear = year;
                  mMonth = month;
                 mDay = date;
                 dialognew.showdialogtext();

             }
         };
     }

     class DatePickerDialogWithEditText extends DatePickerDialog 
     {
         EditText tv;    

         DatePickerDialogWithEditText(Context c,OnDateSetListener oD,int y,int m,int d,EditText tv) 
        {
             super(c,oD,y,m,d);
             this.tv = tv;
        }

         EditText getAssociatedTextView() 
         {
             return tv;
         }
    }


      class Mynewdialog 
     {
        private Context context;
        Display dis = new Display(context);
        private DatePickerDialogWithEditText dialog;

        public Mynewdialog(Context mcontext)
        {
            context=mcontext;       
        }

        public void dialog_obj(EditText editTextView)
        {
             final Calendar cal = Calendar.geTinstance();
             dis.mYear = cal.get(Calendar.YEAR);
             dis.mMonth = cal.get(Calendar.MONTH);
             dis.mDay = cal.get(Calendar.DAY_OF_MONTH);
             dialog = new DatePickerDialogWithEditText(context,dis.mdatepickerdialog,dis.mYear,dis.mMonth,dis.mDay,editTextView);
            dialog.show();
        }

         public void showdialogtext()
        {
             EditText et = dialog.getAssociatedTextView();
             et.setText(new StringBuilder().append(dis.mDay).append("-").append(dis.mMonth).append("-").append(dis.mYear));
         }  
       }

现在我想通过检查其类型来设置我获得的视图的ID?我该怎么做?

解决方法

您可以使用View的getId()和setId()方法来完成此操作.

例如:

TextView txtView = new TextView(this);
txtView.setId(4);

并且您可以使用getId()方法获取ID:

txtView.getId();

大佬总结

以上是大佬教程为你收集整理的android – 获取动态添加的视图的ID全部内容,希望文章能够帮你解决android – 获取动态添加的视图的ID所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。