2011-07-19 56 views
7

如何获取动态布局添加视图的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?我该怎么办呢?

+0

现在我怎么能获取和设置的,我已经在运行时添加视图的ID ?? – Geetanjali

+0

任何一个plzzzz帮助我... – Geetanjali

+0

使用setid和getid mtds – user840621

回答

11

您可以通过使用View的getId()和setId()方法来实现。

例如:

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

,您可以通过使用getId()方法获取ID:

txtView.getId(); 
+3

作为旁注的视图类型,动态创建的视图(通过代码)吨有一个id集。你必须明确地调用SETID()来给个说法的ID。 – MrJre

+0

如果我们不知道的看法????那么,我们怎样才能设置一个特定的ID – Geetanjali

+0

@MrJre我有型已经提到它作为SETID(4)的例子。 –

1

,或者你可以添加所有(动态创建的)意见的ArrayList中,然后访问它。

相关问题